Definitions for "AbstractFactory"
a class that exists to create instances of another class