protected async Task SendEyeTrackerMessage()
        {
            if (Callback == null)
            {
                return;
            }

            while (!_keepAliveFaulted)
            {
                if (NextGazeMessage != null)
                {
                    await Callback.SendTrackerMessage(NextGazeMessage.CreateBinaryMessage());

                    NextGazeMessage = null;
                }
                if (NextUserPresenceMessage != null)
                {
                    await Callback.SendTrackerMessage(NextUserPresenceMessage.CreateBinaryMessage());

                    NextUserPresenceMessage = null;
                }


                await Task.Delay(20);
            }
            Dispose();
        }