Ugh... Feedback... So hard to take... I'll have another draft together in, like a few months? Seriously? That's what it feels like...
Anyway, I also did some planning for MOTR, and I think there are a few places I need to refactor and then augment, and then I can work on some of the logic required to handle generating paths for reports. This whole... thing... might be an argument, at least as far as most people are concerned, against trying too hard to generalize something. Because this has been... a lot. My basic plan is to break down ParametricCommand._build() so its internal structure isn't as fragile to change. The problem with it right now is that the method is recursive, and the stuff around the recursion can't be easily rearranged, but this doesn't look obvious to me. Basically, the function does two things, that are both recursive. I'd rather split this into two recursive functions that do one thing, and then I can coordinate them in ParametricCommand.build(), and also add other recursive functions that are required for report path generation.
I also need to figure out how I want to assemble the commands that will take advantage of this functionality. I have something in mind that seems like it's powerful enough, but it's probably too complicated.
Anyway, I'm still out of it from all of that feedback, and also trying to deal with hurting myself over the weekend, so I'm going to call it here and try to chill out.