adapted all (except Server) to use WebSocketOutgoing