public void Dispose() { if (_isDisposed) { return; } _transceiver.OnMessageReceived -= TransceiverOnMessageReceived; _transceiver.Dispose(); _positionProvider.Dispose(); _isDisposed = true; }