Hmm, I don't know how to handle the scenario when the client code could choose to destroy the connection in the callback as described in my PR description