Implemented Memento Pattern