/// <summary>
        /// Constructor
        /// Initial MA environment.
        /// Make sure only one instance exists during runtime. CreateMonitor cannot be invoked until before instance is disposed
        /// </summary>
        public static MessageAnalyzerMonitor CreateMonitor(List <string> groupList = null, bool isMAInstalled = false)
        {
            if (instance != null)
            {
                instance.Dispose();
            }

            instance = new MessageAnalyzerMonitor(groupList, isMAInstalled);
            return(instance);
        }