Could we make this `client.connect`/`client.disconnect` also work with a `with` statement?