Fit the pipeline to the runtime you already run.
Live systems rarely want one transport. Capture can come in over WebRTC, streams can stay on SSE, and delivery can hand off over WebSocket. The point is not to force our frontend. The point is to let your product keep its own surface.