What about using `disconnect! if connecting?`?
If the code works well, I prefer to the code. Because it uses API provided by base class. It is better than accessing instance variables directly. API will be stable rather than instance variables.