Memento pattern
Adapter pattern