Add caching to presenter