Move object caching out of storage layer into types. Sort out create/get/ensure mess by ensuring objects at first read