Made a controller generic.

In the midst of more DI refactoring.