AbstractGameController to extend EventRelay

The EventRelay should reduce the complexity of the GameController and
increase cohesion over time