private void SendFakeTelemetryUpdate(int currentSession)
        {
            var args = new FakeTelemetryUpdatedEvent(new FakeTelemetryInfo()
            {
                SessionFlags      = new FakeTelemetryValue <SessionFlag>(new SessionFlag(0)),
                SessionNum        = new FakeTelemetryValue <int>(currentSession),
                SessionUniqueID   = new FakeTelemetryValue <int>(currentSession),
                SessionLapsRemain = new FakeTelemetryValue <int>(Constants.TimedRaceLapRemainDefault),
                SessionTimeRemain = new FakeTelemetryValue <double>(Constants.LapRaceTimeRemainDefault)
            });

            telemetryUpdateHandlers.ForEach(h => h.Invoke(this, args));
        }
        private ITelemetryUpdatedEvent DoTelemetryUpdate(bool sendEvents)
        {
            var args = new FakeTelemetryUpdatedEvent(new FakeTelemetryInfo()
            {
                SessionFlags      = new FakeTelemetryValue <SessionFlag>(new SessionFlag((int)reader.ReadUInt32())),
                SessionNum        = new FakeTelemetryValue <int>(reader.ReadInt32()),
                SessionUniqueID   = new FakeTelemetryValue <int>(reader.ReadInt32()),
                SessionTimeRemain = new FakeTelemetryValue <double>(reader.ReadDouble()),
                SessionLapsRemain = new FakeTelemetryValue <int>(reader.ReadInt32())
            });

            if (sendEvents)
            {
                telemetryUpdateHandlers.ForEach(h => h.Invoke(this, args));
            }

            return(args);
        }