You can use this function when the interface isn't implemented as well. This function is still here  to support 'legacy' code that manually instantiated the class and manually set the container. So the changes are backwards compatible. As mentioned in the PR ;)

By removing the interface the container won't try and inject the container in the new instance. Instead, it'll use the specific settermethods as defined in services.yml.