Added BattleController and unit tests