all CourseEnrollment modifications route through create_or_update
purchased_callback now uses the change_mode method