Give the gift of Drupal. All merchandise is 50% off through 2016.
Credits to @dawehner for finding this.
The attached patch (following in comment) shows this using plugin managers. There are some problems, we use constructor injection, so we can't just change a single argument easily (e.g. different cache bin) or add another one. We could change some of the other plugin managers to use setter injection instead, though. And for cache, we could just unify them to use all the same cache bin, possibly introduce a cache.plugin, which could be a cache collector (see)