First pass at WebSockets support.