Rewrote WS with somewhat better abstraction

Now we don't pass around quite so many moving parts
Fixed log message