public virtual void Dispose()
        {
            Disconnect().Wait();

            _receivedObservable.Dispose();
            _sentObservable.Dispose();
            CommPort.Dispose();
        }