async providePromise(computer) {
		const cacheEntry = await this.getPromise();
		if (cacheEntry !== undefined) return cacheEntry;
		const result = await computer();
		await this.storePromise(result);
		return result;
	}
@template T
@param {() => Promise<T> | T} computer function to compute the value if not cached
@returns {Promise<T>} promise with the data