def build(self, pipeline_def, artifacts_persisted):
        '''Builds the execution plan.
        '''

        # Construct dependency dictionary
        deps = {step.key: set() for step in self.steps}

        for step in self.steps:
            for step_input in step.step_inputs:
                deps[step.key].add(step_input.prev_output_handle.step_key)

        step_dict = {step.key: step for step in self.steps}

        return ExecutionPlan(pipeline_def, step_dict, deps, artifacts_persisted)
Builds the execution plan.