1. A method comprising: clustering, with a processor, a set of discrete user interface states into groups, wherein each group is associated with a respective user interface, wherein the set comprises at least a first user interface state of a particular user interface and a second user interface state of the particular user interface, and wherein a view of the particular user interface in the first user interface state is different from a view of the particular user interface in the second user interface state; causing display of the groups, including objects representing corresponding user interface states, in a hierarchical view; receiving selection of at least one of the objects representing a user interface state; and following selection of an object representing a user interface states, causing a current user interface state to change to the user interface state represented by the selected object.