Eliminate AddToCache in the factory constructor. This was causing the same item to be added to the cache repeatedly.