create a dependency injected wrapper for the cache implementation