I've decided this is a Bad Idea™ And Fabien Agrees. The reasoning behind this is a little complex. Setting up a controller as a service doesn't have a lot of payoff in the long-run. The Controller class is so coupled with the resources of the application and framework, that it doesn't really make sense anyway. The controller needs a lot of things and does a lot of application wiring. Not having to inject these resources becomes a big pain pretty quickly. "What about Unit Testing?" You may be wondering. Unit testing the Controller class doesn't have a lot of payoff either. If you've got logic in the Controller class, you should probably look at refactoring that class instead of looking to test it. You can achieve better results with Functional Testing to cover controller functionality.