A meta-factory which delegates construction of appropriate derived objects to the correct factory based on some criterion.