abstraction of caching calls