Can be called to clean up resources
@override Future<void> dispose() async { await super.dispose(); await client.dispose(); }