Abstract Factory Pattern Sourcemaking