The WebSocket module produces a thread job, decorated with the type `WebSocket.ThreadJob` A more specific type should be given to servers and clients: * [x] #92 * [x] #93 Additionally, some functionality should be shared across both job types * [x] #91 * [x] #98 * [x] #99 * [x] #100