SOLID / Design Patterns Coding Exercise - first commit