Factory Design Pattern Explained in C# ... Part One of Three