public void ProcessAction(UnitRemovalAction action)
 {
     if (action is null)
     {
         throw new ArgumentNullException(nameof(action));
     }
     try {
         RemoveUnit(action.Unit);
     } catch (InvalidOperationException) {}
 }
 public void PlanAction(UnitRemovalAction action) => PlanAction(this, action);
 public void PlanAction(UnitRemovalAction action) => Presented.PlanAction(action);