private static void AddMessage(NotificationMessage.NotificationType messageType, string messageFormat, params object[] messageValues)
 {
     try {
         CreateWindowIfNeeded( );
         AddMessageToQueue(messageType, messageFormat, messageValues);
         SetWindowColour( );
     } catch (Exception ex) {
         Debug.WriteLine(string.Format(@"Error adding message. {0}", ex.Message));
     }
 }
        // Static Methods
        private static void AddMessageToQueue(NotificationMessage.NotificationType messageType, string messageFormat, params object[] messageValues)
        {
            var message = string.Format(messageFormat, messageValues);

            WithMessage(() => _messages.Add(new NotificationMessage(message, messageType)));
        }