anchor.diff:          ..from = event.from
           ..to = event.to
           ..armies = event.armies);
  +    lastBattle = null;
   
       if (game.turnStep == TURN_STEP_FORTIFICATION) {
         nextPlayer();
  
positive.code:   _publish(EngineEvent event) {
      game.update(event);
      history.add(event);
      if (outputStream != null) {
        outputStream.add(event);
      }
    }
  
    /**
  
negative.code:   void onAttack(Attack event) {
      // if another player tries to play
      checkActivePlayer(event.playerId);
      // Armies should be between 1 and 3 and attacker must have enough armies in the from country
      checkArmiesNumber(event.armies, min: 1, max: 3, countryId: event.from);
      // Check if from country is owned by the player
      checkCountryOwner(event.from, event.playerId);
      // Check if target country is owned by another player
      checkCountryOwner(event.to, event.playerId, notOwned: true);
      // The attacked country must be in the neighbourhood
      checkCountryNeighbourhood(event.from, event.to);
  
      var defenderId = game.countries[event.to].playerId;
  
  