1. A method comprising: instantiating, by a processor, a first version of a software object; receiving, from a user of the software object, user-inputted data that is used by the first version of the software object during operation; capturing an image of the first version of the software object comprising an initial configuration state and initial user-inputted data; aggregating a change to the initial configuration state to produce a current configuration state of the first version of the software object; registering, by the processor, a current configuration state and the user-inputted data of the first version of the software object; instantiating, by the processor, a second version of the software object; and exporting, by the processor, the current configuration state and the user-inputted data of the first version of the software object to the second version of the software object.