separate Mediator and Observer
add TypeList
delete constructor of Singleton
add Object
add Abstractactory
modify ObserverTest
add ChainOfResponsibility
add Wrapper