CacheMap is a two-level HashMap.
It uses Class as the key and you can map the key to an object and a context as a pair.
We use context because we want to register multiple objects with the same Class.
CacheMap.register(Class,Object,Object) is the method to register a new entry.