Use this function to start coroutine in a cancellable way, so that it can be cancelled while waiting to be dispatched.