Fork me on GitHub

I am looking for a way to undo recent changes to an entity. The entity contains user information. In a ui-form, the user can edit the information, but can decide to discard the changes. Right now, i create a copy of that entity, when the form is opened. the user will perform the actions on that copy - the new info will be merged or deleted. Is there a way to use "time" ?. It would be nice to use the same entity, but if the user discards the new info, the entity at the time, the form was opened will be used?