It's good to implement waiters using network events. The following interface are good: 1. waitForEvent (only enable minimal WebDriver components) 2. waitForLoadState 3. waitForURL 4. waitForFunction 5. waitForTimeout can be considered, but we have a very good implementation: coroutine's delay