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.
If we want to have behaviour compatibility with the symfony container, this statement is not true. The initialized services are state, so you can change it, unless the definitions.