Add mediator pattern
Add memento pattern