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; receiving selection of a user interface state; and following selection of the user interface state, causing a current user interface state to change to the user interface state.