preserving `this` between `wait for` calls