Merge "Only construct waiter when we need it." into pi-dev