Update core controller to safely implement caching