Simple model
var memento = new ChangeTrackingService();
var person = new Person();
memento.Attach( person );
person.FirstName = "first name value";
person.LastName = "last name value";
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 value";
person.LastName = "last name value";
customer.CompanyName = "sample company";
var isChanged = memento.IsChanged; //true
var canUndo = memento.CanUndo; //trueLast updated