dispose method
Libera recursos retidos (ex.: conexões de rede em pool).
Default no-op; implementações que mantêm estado devem sobrescrever.
Implementation
@override
Future<void> dispose() async {
removeUsbConnectionListeners(_usbConnListener);
_usbConnListener = null;
await _usbConnChanges.close();
await super.dispose();
}