Implements client-side caching