/// <summary>
        /// private for singleton implementation
        /// </summary>
        private RaceMonitor()
        {
            // set up to receive race data from the MQTT connection
            client = new MqttRaceClient(this);

            // prepare storage for the current car data
            Cars       = new ConcurrentDictionary <int, Car>();
            RaceEvent += RaceMonitor_RaceEvent;
        }
 /// <summary>
 /// private for singleton implementation
 /// </summary>
 private RaceMonitor()
 {
     client = new MqttRaceClient();
     MqttRaceClient.RaceDataHandler = this;
 }
 public MessagePublisher(MqttRaceClient client)
 {
     Client = client;
 }