@cbergau you don't need to define a new cache class, just defining a cache instance as an own service works fine :)

You could also use a "Memory" cache by default, which would allow you to remove all optional stuff and always assume that a cache exists...