Possibility to loop your step classes to complete a DataProvider.
composer require xervice/configurator
To use it, you have to write your Steps by implementing StepInterface or extending AbstractStep. After that you can use the facade:
$stepCollection = new StepCollection(
[
new MyStepOne(),
new MyStepTwo()
]
);
$myData = new MyOwnDataProvider();
$stepData = new StepDataDataProvider();
$stepData->setData($myData);
try {
$completeStepData = $this->getFacade()->runConfigurator($stepCollection, $stepData);
} catch (ConfiguratorException $exception) {
// Problems
}