Very simple abstract {@code CacheManager} implementation that retains all created {@link Cache Cache} instances in an in-memory {@link ConcurrentMap ConcurrentMap}. {@code Cache} instance creation is left to subclasses via the {@link #createCache createCache} method implementation.