Refactoring cache package to use multiple cache product