Oh, it's horrible, and it's something that @brianhw actually addressed in his larger refactoring work on grades.py. But yes, with the current state of things, grading invokes problem rendering, and rendering needs the request deep in the stack.