public void RemoveMessage(Message message)
        {
            _messages.Remove(message);
            var messages = FormatMessages();

            _uiThreadInvoke.FireAndForget(() =>
            {
                foreach (var messagesLabel in _messagesLabels)
                {
                    if (!messagesLabel.Parent.Visible)
                    {
                        continue;
                    }
                    messagesLabel.Text    = messages;
                    messagesLabel.Visible = messages.Length > 0;
                }
            });
        }
        public void AddMessage(Message message)
        {
            _messages.Add(message);
            var messages = FormatMessages();

            _uiThreadInvoke.FireAndForget(() =>
            {
                foreach (var messagesLabel in _messagesLabels)
                {
                    if (!messagesLabel.Parent.Visible)
                    {
                        continue;
                    }
                    messagesLabel.Text      = messages;
                    messagesLabel.ForeColor = _templateControl.ForeColor;
                    messagesLabel.Visible   = messages.Length > 0;
                }
            });
        }