Extracted another class, BattleMapModel to handle movement across the map