Well, you're the Architect. Your word is final. I still love you.
I don't object to most of how it works. What I'm mostly objecting to is the inability of a sub macro to figure out if the TriggerValue token was a parameter meant for it or if the value was meant for a parent macro.
I also thought this part of the mechanism should be documented, and I even got Dan to agree with that idea. The wiki for TriggerValue doesn't explain this unusual behaviour at all. In fact the first line of the wiki says TriggerValue contains "the value associated with how the macro was triggered" but in fact it contains a value from some macro between it and the first macro in the instance chain, and there's no way to determine how high up that chain it came from.