Lock the socket to try prevent nil pointer. Add some more documentation.
Remove debug log. Advertise byebye once per service.
Fix up the shutdown method. Removing deadlock.
Parse a request and response according. Instead of waiting for 1 to fail.
Rename a variable so its clearer.
Fill in more documentation.