Refactor caching strategy to Cache