1. A method of maintaining alternate data states of application data, the method comprising: receiving an operation to be added to a location in a first sequence of operations adapted to reconstruct at least a first data state of application data of a first application, the first data state resulting from performing one or more functions associated with the first sequence of operations; upon determining that the location is at an end of the first sequence of operations, then: creating an association between the received operation and the location in the first sequence of operations; and adding the received operation to the first sequence of operations; upon determining that the location is not at the end of the first sequence of operations, then: upon determining that there is at least a second data state of the application data of the first application selected for preservation following the location in the first sequence of operations, then: creating an association between a second sequence of operations and the location in the first sequence of operations; and adding the received operation to the second sequence of operations.