A thread safe generics based in memory caching service with a simple developer friendly API for c#