The GoF design patterns book defines Memento design pattern as follows - 'Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.'