So this is what a step-wise approach would look like. If UPDATE_STEPS is 100 then it should update no more often than once per percent. 

I have only one problem with this approach: the best number of UPDATE_STEPS depends heavily on your internet speed, computer speed, and file size. Too few and you get a choppy update, too many and you overflow the asyncExec queue again.

I would prefer an approach that peeks at the asyncExec queue and doesn't fire the proc if it is full, but much searching has failed to turn up any ways of doing that.

What do you think? I would prefer the $global_variable toggling approach. Could we give it a "safe" name like we do with @__app__?