I have tried to take few shortcuts with the demonstrations of patterns to help reinforce previous patterns even as I teach you new ones. While this absolutely bloated the code, and perhaps increased the difficulty, I refused to pull any punches. The justification as to why I did not rely on simple and unrealistic demos was so you could see how they are truly used in the real world. Also, I believe that simplification can often dilute a necessary impact. I wanted to demonstrate that patterns are often utilized with other patterns and are not always individual solutions.