Fix up controllers and make them extensible.
Get some integration tests done.
Formatting
Merge pull request #2 from Battlefy/feature/extensible-controllers

Feature/extensible controllers