protected function emitProgress($progress, $step=0, $totalSteps=1, $stepName='')
    {

        if (!$progress instanceof Progress) {
            $progress =  new Progress($progress, $step, $totalSteps, $stepName);
        }

        foreach ($this->progressListeners as $listener) {
            call_user_func($listener, $progress);
        }
    }