That's a nice idea. However, why are you passing an async callback, which isn't used in an async context, and passed to `then`? Why not just return the Promise directly and make `connect` `async`?
Edit: In fact the whole code is a strange mix of async, promises, and callbacks. Just stick with one model.
Edit: In fact the whole code is a strange mix of async, promises, and callbacks. Just stick with one model.