Python Abstract Factory Pattern Example