Add `waitEvent`