Factory Design Pattern Explained in C# - Part Two of Three