I think it might make sense to encapsulate the contents of this loop in the `AssessmentWorkflowStep` model, perhaps as a class method.