demacrofy FactoryWrapper