Iinitial commit. Patterns implemented:
Observer
Strategy
Factory Method
Abstract Factory Method