namespace MementoPattern; public class Caretaker { //container that could hold memento of Originator //object private readonly Stack _mementos = new(); private readonly IOriginator _originator; public Caretaker(IOriginator originator) { _originator = originator; } public void Save() { _mementos.Push(_originator.GetMemento()); } public void Undo() { _originator.SetMemento(_mementos.Pop()); } }