12. The non-transitory computer storage medium of claim 11 , wherein the state information of the set of invoked activities is maintained in an HTML DOM tree, wherein said each live preview is generated by applying at least one of JavaScript or CSS to an object in the HTML DOM tree corresponding to the corresponding invoked activity of the live preview.
11. A non-transitory computer storage medium storing instructions which, when executed by one or more processors, cause performance of a method comprising the steps of: executing client-side code of a web application on a client device; maintaining on the client device, by the client-side code, state information of a set of invoked activities invoked by a user of the client device during a current session with the web application; wherein the set of invoked activities includes a particular activity; in response to user input, the client-side code generating and displaying a theme preview interface comprising a plurality of live previews; wherein each live preview of the plurality of live previews is a real time visual representation, of a current state of a corresponding invoked activity, that reflects a corresponding theme; wherein the plurality of live previews comprises one of: a plurality of live previews of a current state of the particular activity, wherein each of the plurality of live previews have a different corresponding theme, or a plurality of live previews, each of which correspond to a current state of a different invoked activity of the set of invoked activities, wherein each of the plurality of live preview have a common corresponding theme.