Implement caching in resolver