1. Could this please take an optional course_enrollment arg, (for the upgrade scenario).
2. Is there a reason this interface was chosen instead of having them make an Order and then appending this to the Order's order items?
3. Could you please add a docstring showing intended usage?