Delay in a function

I’ve found the best way is just to avoid latent actions (delay and such) altogether. and use timers and delegates.
it’s much more solid and maintainable (imho) in the long run, compared to async code.
specially with code that might be re-entrant.