A bit hard to read the grey stuff, sorry for being out of current style here...
Yeah, visual editor doesn't edit templates very visually atm. All these raw arguments to type in. :-)
I can see another current problem with templates - a lot of template workflows are carried out manually, or manually using JavaScript: some documentation and use-cases. As you see, they are typically resolved by JavaScript, using parsoidObj or using manual parsing.
I'd like to see this happen server-side with aid of workflow definitions in templates markup. For instance, imagine that draft submission works like this: {{submit}} is often replaced by {{tasks|add sources|remove copyrighted material|another common task|custom comment}} and a {{review-rejected|custom note on sources|custom note on copyright|review comment|...}} on a draft talk page.
There should be means to add a button on the {{submit}} template which opens a form that asks reviewer for
- a list of tasks: add sources and rm (C) material
- comments on each: perhaps a helpful suggestion, reviewer probably found a source. Possibly a note which specific portion is copyrighted.
- and a full review comment
Then, when form is submitted, the two edits are made -- {{submit}} replaced with {{tasks}}, and a new {{review-rejected}} is placed on the talk page.
How would we do it? Start with backend - have an API which easily allows to replace templates and pass params around like that. Probably Parsoid already exposes that, dunno. Once an API is clear, time to work on an implentation, and as this goes through forms, I imagine it's also, in theory, doable for JavaScriptless users too.