`timeoutID == 0` may be a valid situation. better initialize `timeoutID` to `undefined` and explicitly check `=== undefined`