* add several behavioral patterns: chain of responsiblity, mediator
* add several creational patterns: factory, singleton(thread-safe)