1. A computer system comprising; a remote data store; one or more processors; one or more computer-readable storage media having thereon computer-executable instructions which, when executed by the one or more processors, cause the computing system to operate with an architecture that tracks a user's navigation among various interface elements having a hierarchal relationship to one another, and saves one or more states representing the user's navigation in order to permit the one or more states to be later restored; and wherein the architecture comprises: a user interface presentation component for presenting an interface having multiple interface elements comprised of both parent interface elements and child interface elements, with each parent interface element having a corresponding hierarchy of contained child interface elements; a navigation component that detects navigation through the multiple interface elements of the interface; an edit component that provides for editing of any of the multiple interface elements of the interface; a hierarchical storage agent that: (i) in response to notification of the navigation through the multiple interface elements detected by the navigation component, determines a state that is to be persisted for one or more navigations through the multiple interface elements, and wherein the determined state of the one or more navigations represents a corresponding part of the hierarchal relationship traversed during a given navigation; and (ii) in response to notification from the edit component of changes to one or more interface elements, updates any state that is to be persisted for a given navigation in which an interface element was edited; and an application program interface that receives each state that is to be persisted and communicates each received state to the remote data store, in order to enable any of the stored states to be recalled from the remote data store and then used in all of the following scenarios: (i) an application restart scenario using an interface on a display which is the same as the display used when first navigating the multiple interface elements and determining the stored state; (ii) a roaming scenario that permits a given user to recall at a second display device a state stored as a result of the given user's navigation of the multiple interface elements at a different display device; and (iii) a sharing scenario in which a given user's navigation resulting in one or more stored states permits recall of the given user's one or more stored states by a user other than the given user.