registerLoader(key: string, loader: () => W) {
    const item = this.items[key];
    const willOverwrite =
      this.has(key) &&
      (('loader' in item && item.loader !== loader) || 'value' in item);