I think my question from the other PR still holds. What is expected to happen if the call is canceled before it is actually executed? I think I'd intuitively expect the execution to be superceded/prevented. But there's nothing along those lines in this implementation. In fact, there may be a race between the engine disconnecting and then the execution happening later (on a new connection?).

It seems like we could trivially tell if it has been executed here or not and only disconnect if it has been executed. Similarly, the call to execute could just immediately return null if the call was canceled before execute was called. (Could make it trivially thread-safe with an atomic/CAS-able state variable, like an `AtomicInteger` or an `AtomicReference<State>`).