Using separate events.
First you toggle the boolean instead of the wait, then while the bool is true run a timer. When the timer runs down toggle another boolean.
If you want to cancel the event, just change the variable.
The timer behavior would simplify that a little.