C# Design Pattern Essentials - source code