so if the peer connection is the source of truth for connection status, how should we handle the websocket disconnecting? Can livekit supply an option for reconnecting + a callback for when it happens (in case the consumer wants to do something different when socket closes)