Yes you're right.

The controller is not injected at startup time, it's done for each request, but before the Action. The repository can be different in get (depend on the url) and save (always use default version) method.

I will revert the commit