adds caching to JSONController properties