dispose method
Disconnects and closes streams. A disposed client cannot reconnect.
Implementation
Future<void> dispose() async {
if (_disposed) return;
await disconnect();
_disposed = true;
await _statuses.close();
await _messages.close();
}