Use the symfony DIC interface to make code more compatible.

In order to make code more compatible with D8 core, it is helpful to have the symfony container interface available.
With that you don't have to subclass generic factories, like done on the KV test PR.
Agreed, we should have some concept of frozen, let's introduce it