code: function createBidCacheRegistry() {
    let registry = {};
  
    function setupRegistrySlot(auctionId) {
      registry[auctionId] = {};
      registry[auctionId].bidStorage = new Set();
      registry[auctionId].queueDispatcher = createDispatcher(queueTimeDelay);
      registry[auctionId].initialCacheKey = utils.generateUUID();
    }
  
    return {
      addBid: function (bid) {
        // create parent level object based on auction ID (in case there are concurrent auctions running) to store objects for that auction
        if (!registry[bid.auctionId]) {
          setupRegistrySlot(bid.auctionId);
        }
        registry[bid.auctionId].bidStorage.add(bid);
      },
      removeBid: function (bid) {
        registry[bid.auctionId].bidStorage.delete(bid);
      },
      getBids: function (bid) {
        return registry[bid.auctionId] && registry[bid.auctionId].bidStorage.values();
      },
      getQueueDispatcher: function(bid) {
        return registry[bid.auctionId] && registry[bid.auctionId].queueDispatcher;
      },
      setupInitialCacheKey: function(bid) {
        if (!registry[bid.auctionId]) {
          registry[bid.auctionId] = {};
          registry[bid.auctionId].initialCacheKey = utils.generateUUID();
        }
      },
      getInitialCacheKey: function(bid) {
        return registry[bid.auctionId] && registry[bid.auctionId].initialCacheKey;
      }
    }
  }
docs: Create a registry object that stores/manages bids while be held in queue for Prebid Cache.
  @returns registry object with defined accessor functions