Add memento, template pattern