protected void DangerOfProximityEvent(object sender, FlightInProximityEventArgs e) //FlightInProximity event
        {
            var renderStr = $"Danger! Proximity of {e.proximityTracks.Item1.Tag} and {e.proximityTracks.Item2.Tag}";

            _view.AddToRenderWithColor(renderStr, ConsoleColor.Red);
            _logger.DataLog(renderStr);
            var timer = new StringEventTimer(5000, renderStr);

            timer.Elapsed += StopShowingAirspaceEvent;
        }
 public void DetectCollision(ICollection <IFlightTrack> tracks)
 {
     foreach (var track1 in tracks)
     {
         foreach (var track2 in tracks)
         {
             if (IsInCloseAirspace(track1, track2) && WithinTimespan(track1, track2) && track1.Tag != track2.Tag)
             {
                 var args = new FlightInProximityEventArgs(new Tuple <IFlightTrack, IFlightTrack>(track1, track2));
                 FlightsInProximity?.Invoke(this, args);
             }
         }
     }
 }