Homework solutions for Design Patterns course in Java