Using a memento to save/restore state in BaseEntities