add a caching layer for jsonable objects