Refactored to move instantiation of default caching up to the client class