public function __construct($id, Ezer_StepContainerInstance &$scope_instance, Ezer_Step $step = null)
 {
     $this->id = $id;
     $this->attempts = 0;
     $this->scope_instance =& $scope_instance;
     if ($step) {
         $this->max_retries = $step->getMaxRetries();
         $this->step = $step;
     }
     if ($this !== $scope_instance) {
         //			echo "Adding $id [" . get_class($this) . "] to " . $scope_instance->getId() . "[" . get_class($scope_instance) . "]\n";
         $this->scope_instance->step_instances[] =& $this;
         $parent_scope_instance = $scope_instance->getScopeInstance();
         if ($parent_scope_instance) {
             //				echo "Adding $id [" . get_class($this) . "] to " . $parent_scope_instance->getId() . "[" . get_class($parent_scope_instance) . "]\n";
             $parent_scope_instance->step_instances[] =& $this;
         }
     }
     $this->setStatus(Ezer_StepInstanceStatus::LOADED);
 }