Why promise again? Upon a rejection, it will attempt to `_reconnect()` a few times, then give up. A promise will bypass that, won't it?