OO Design Patterns - HW3: Layers, Facade, Strategy