Merge pull request #3 from lockrecv/develop

Composite Pattern
Observer Pattern