If `hostname is None`, then this leaves `request` as `None`, and relies on `get_module_for_student` to create it. Why not just require `get_module_for_student` to always get a request, and always to request creation up here?