Victor mentioned this in the last pull request, and I think it's still relevant. Is there any reason why we can't use the CourseFactory here?