Extract the Battle interface.
Avoid Battle exposing implementation details (the BattleMap).