Create a ChatSession from a conversation. Implementation can hold other state.
Create a new chat session. If user is provided, the session will be associated with that user. Optionally, a system message can be provided to set the context for the session.
Get a chat session by conversation id.