dispose method
Implementation
Future<void> dispose() async {
await _monitorSub?.cancel();
await _subject.close();
await _monitorService.dispose();
_onConnectionLost.clear();
_onConnectionRestored.clear();
_onQualityChanged.clear();
_onStateChanged.clear();
}