Added the concept of singleton caches for caching non-collection values using similar mechanisms to the general cache