in job_definition.go [37:51]
func NewJobDefinition[T any](name string) *JobDefinition[T] {
j := &JobDefinition[T]{
name: name,
steps: make(map[string]StepDefinitionMeta),
stepsDag: graph.NewGraph(connectStepDefinition),
}
rootStep := newStepDefinition[T](name, stepTypeRoot)
j.rootStep = rootStep
j.steps[j.rootStep.GetName()] = j.rootStep
j.stepsDag.AddNode(j.rootStep)
return j
}