for some reason most caching APIs allow you to use get($id), has($id), ... instead of passing the id in a constructor which provides a nicer API. as most APIs are working like this doing it for now as well... we can otherwise still provide a decorator for different behaviour
more tweaks with DI etc