I agree with all of this in principle, and I think the best way to do this correctly is to have all of these subcases inherit from 'register.html' and then just override blocks as they see it.

However, I want to get a bit more tactical about this, with the start of quarter approaching.  I think these changes are the least disruptive for now, and I would like to move on to other priorities if possible.

So, @brianhw , I've fixed the actual flattening to ASCII and provided tests for it.  Do you think it's possible for me circle back at some time (in a month or so) and refactor register.html when priorities are different?  Otherwise, are there any outstanding blockers for merging?  (I feel like I address all except for the templates now).