Three looks for the same agent. Picking one calls destroy() and then init() with new options, which is how you change a running chat. The conversation carries on, because it is saved for the agent.
destroy()
init()