unify WaitUntil implementations