Implement a more flexible architecture for cache adapters

They all have to implement the according Base interface.
add basic tests to backup Cache class