by "private method", I mean that this function should live on the prototype. That way, you wouldn't need to pass in timeoutCounter and timeoutMs