fix redundant "disconnect" event on disconnect()

So when you call `.disconnect()` only one event is emitted.

There might be cases where emitting the event right away could be faster, but you call `.disconnect()` yourself anyways, so you know exactly when it's happening.

@dominictarr