I think I like `with SAMPClient(...) as c:` but it should call `self.connect()` automatically in `self.__enter__`.  If one didn't want auto-connect then I suppose they could take the `with c.connect()` approach but I feel like that might be a little confusing.