ObjectDefFactory fix circular dependency with FactoryIdToFactoryImpl by making a trait of the factory
FunctionMFactory fix circular dependency with FactoryIdToFactoryImpl by making a trait of the factory
AddOperatorFactory fix circular dependency with FactoryIdToFactoryImpl by making a trait of the factory