Add configurable caching