Simple model
var memento = new ChangeTrackingService();
var person = new Person();
memento.Attach(person);
person.FirstName = "first name";
person.LastName = "last name";
var isChanged = memento.IsChanged; //true
var canUndo = memento.CanUndo; //truevar memento = new ChangeTrackingService();
var person = new Person();
var customer = new Customer();
memento.Attach(person);
memento.Attach(customer);
person.FirstName = "first name";
person.LastName = "last name";
customer.CompanyName = "sample company";
var isChanged = memento.IsChanged; //true
var canUndo = memento.CanUndo; //trueLast updated