Why are we checking timeOutHandle here?  clearTimeout doesn't care about nulls or undefined.  Also why are we setting it back to undefined?  It's only ever used once, no need to reset the value.