1. A method comprising: receiving, at a first client device that interfaces with a virtual assistant, input from a user, wherein the input is received during a first session between the user and the virtual assistant, and the input is based on user interface input generated by the user via one or more input devices of the client device; semantically processing, by the virtual assistant, the input from the user to determine a state expressed by the user to the virtual assistant; storing, by the virtual assistant, an indication of the state expressed by the user during the first session in memory for future use by the virtual assistant; determining, by the virtual assistant based on one or more signals, that a second session between the user and the virtual assistant that is distinct from the first session is underway, wherein the one or more signals include the user engaging with the virtual assistant using a second client device; forming, based on the stored indication of the state expressed by the user, a natural language output from a plurality of candidate words, phrases, or statements; and outputting, by the virtual assistant via one or more output devices of the second client device, as part of the second session, the natural language output to address the state expressed by the user during the first session.