`setCallbacks()` actually also initiates the connection, so maybe it should be renamed to something like `connectWithCallbacks()`.