1. A computer-implementable method for managing the evolution of a data model stored in a computer memory, comprising: generating a first change statement operable to perform a change operation on an element of a first instance of a data model stored in a computer memory, appending the first change statement to a data model change stack; and executing the first change statement, wherein: the performing of the change operation generates a second instance of the data model; and the first change statement is indexed to the second instance of the data model as a bookmark stored in a computer memory.