Long_callback to cancel on repeated input trigger

Hi all - trying to get my head around long_callbacks. I have a long computation based on inputs from a bunch of UI components. If I change one, my callback kicks off. If I change another, another of the same callback kicks off - no good. Using long_callbacks I can specify a “cancel” element to stop execution. But I can’t specify the cancel element to be one of the things I’m listening to to kick off the callback - if I do, the callback never runs (or is killed immediately, I guess).

It seems like it’d make sense to be able to specify that I’d like a new execution of a callback to stop the last one. All the elements seem to be there.

Alternatively, I guess I can come up with some kind of callback cascade to make it happen. But this seems like an obvious use-case for long_callbacks. I’d rather not resort to “start” and “cancel” buttons.

Any thoughts?