Design Patterns Homework