FactoryMethodBase 1st pass at simplification