@override Future<void> dispose() async { await stop(); try { await _ctx?.close().toDart; } catch (_) {} _ctx = null; }