GraphQL clients like Relay or Apollo both use websocket over SSE to support subscription. What's the reason behind this?