MapBasedCache unification.
Cache storage abstracted in its own type