stops UI loop. **not instant** if it is in-between event functions, it will complete those first
See Implementation
stops UI loop. **not instant** if it is in-between event functions, it will complete those first