The Factory Method Pattern: Key to Scalable Code