Comment confusing (timeoutMS always == timeoutMS, no?)  I know what you mean, but choice of var name and comment name collides.