WebSocketUpgradeHandler doesn't need to be threadsafe