Changed Abstract Factory Pattern source to better reflect the pattern.