Use interfaces instead of classes for the Controller

Hi !
This commit fixes a bug I have to build the Controller.