* Add ping message verification to the websocket connection.
* Recycle ticker.
* Add comment.
* Fix datarace by waiting for goroutines to finish on Shutdown.
* Cleanup websocket connection, actually test reconnects.
* Some more cleanup.
* Locally define connFactory to avoid races.
* Move locks around, harden test.
* Add logging.
* Drop redundant target.
* Move message encoding outside of the writerLock.
* Fix assignment nit.
* Remove named return value.
* Add close signal to long-running loops.
* Add todo for returning a messageType.
* Bump header to 2019.
* Add note on draining the messageChan.
* Drop target from signature.
* Drop target from test.
* Add a more speaking example to draining the messageChan.
* Fix typo.
* Relax read lock, improve test.
* Bump test coverage.
* Add double shutdown test.
* Remove code duplication in test.