Separate out BattleState from main Battle handler