Switched most operations over to WebSockets