updated CacheManagerDecorator to a more appropriate name "CacheFactory"