protected override void Replay(RaceEvent raceEvent)
 {
     if (raceEvent is IdEvent id)
     {
         OnRiderId?.Invoke(this, new RiderIdEventArgs(id.Rider, id.Time, id.UnitId, id.IdType));
     }
     else
     {
         throw new ArgumentException($"Cannot replay non IdEvent: {raceEvent.GetType()}");
     }
 }
 public void EmitIdEvent(Rider rider, DateTime received) => OnRiderId.Invoke(this, new RiderIdEventArgs(rider, received, UnitId, Direction.Enter));