Switch to websockets, add more tests.