Add caching to resource manager