**Describe the bug** Based on unit tests, it seems that WebSocket is not calling the `onerror` callback reliably for invalid servers. **To Reproduce** Steps to reproduce the behavior: 1. Run the "should trigger error callback with invalid server" unit test repeatedly (NOTE: This test was commented out in #130). 2. Observe that regardless of how long the timeout is, the test will fail about 1/3 of the time. **Expected behavior** `onerror` should be called reliably. **Other** - This may only happen with Chakra, but I'm not sure.