Finished reducing global variables etc. However, there is a bug in client_to_ws whereby moving the last client to a different WS leads to getting stuck in an infinite loop.

Ends up being that everything has the same value as head. Let c = head.

head == c
head->next == c
head->next->next == c
....