1. A system comprising: an application program stored on a computer readable medium having computer executable code thereon, the application program comprising: declarative language for a base state describing a user interface of the application program in the base state; imperative code providing a set of instructions setting forth logic to provide operations occurring as a flow of the application program progresses, a portion of the imperative code resulting in changes to the base state of the user interface of the application program; and declarative language for an other state comprising identification information identifying the other state of the application program, wherein the other state is a point in the application program changed from the base state by the portion of the imperative code, the declarative language for the other state comprising a description of differences between the application program user interface in the base state and the application program user interface in the other state; and wherein the application program can directly provide the other state without providing the user interface in the base state or using the portion of imperative code to progress from the base state to the other state, wherein the application program can directly provide the other state using the declarative language for the base state and the declarative language for the other state.