in this case should we also clear the global timeout so we don't have two timeouts going simultaneously? i'm wondering of a situation where this timeout starts 3 seconds before the global timeout triggers, and lasts for 4 seconds, so we get two calls to `onSocketNeverConnect` 1s apart. Does your clearTimeout logic above handle this case?