Move WebSocketExtension to top-level package