@njx: Fwiw, I think it's ok for both waits() and waitsForDone() to either be the _last_ item in a runs() block, or sitting outside the runs() block below it.  We just usually put waitsForDone() on the inside because it's easier to access the Promise you're passing it that way (it can just be a local var).