AbstractFactory class declares only an interface for creating the products. The actual creation is the task of the ConcreteProduct classes, where a good approach is applying the Factory Method design pattern for each product of the family.
Extending factories can be done by using one Create method for all products and attaching information about the type of product needed.
declares define