public static BlinkMController GetInstance()
 {
     if (_instance == null)
     {
         _instance = new BlinkMController();
     }
     return(_instance);
 }
        // Implement IDisposable.
        public void Dispose()
        {
            _instance = null;
            Dispose(true);

            // This object will be cleaned up by the Dispose method.
            // Therefore, you should call GC.SupressFinalize to
            // take this object off the finalization queue
            // and prevent finalization code for this object
            // from executing a second time.
            GC.SuppressFinalize(this);
        }