Connect the user.
Get the connection id.
Disconnect the socket.
Socket errors as Flow
Socket events as Flow
Reconnect the user to the socket.
Send raw data to the socket. If you already have a parsed event that can be sent. Refactor later to return bool
Send event to the socket.
State of the socket as StateFlow
Update the token from the outside.
When connected to the socket.