Observer Pattern

Implemented Observer Pattern in a quick and dirty way, with tests
Restructured the project to include multiple modules, one for each
chapter