Memento pattern added (simple and advanced versions)