Explanation of Abstract Factory Example Source