I don't see how `_get_course_for_item` can return a false value.  Seems like we should clarify the semantics of that function.