Design Patterns Term Project