I'll update it. Minor difference: do you prefer `ms = this.timeout() || 1e9;`, or `setTimeout(..., ms || 1e9);` ?