constructor(items, usedItems, dataOrFn, logger, lazyName) {
		this.items = items;
		/** @type {LazyFunction | undefined} */
		this.lazy = typeof dataOrFn === "function" ? dataOrFn : undefined;
		/** @type {Content | undefined} */
		this.content = typeof dataOrFn === "function" ? undefined : dataOrFn.map;
		this.outdated = false;
		this.used = usedItems;
		this.logger = logger;
		this.lazyName = lazyName;
	}
@param {Items} items keys
@param {Items} usedItems used keys
@param {PackContentItems | (() => Promise<PackContentItems>)} dataOrFn sync or async content
@param {Logger=} logger logger for logging
@param {string=} lazyName name of dataOrFn for logging