A mechanism for passing variables between templates is very necessary. I got blocked too in implementing functionality where writing an extension / fiddling with kernel code is too much overhead.
In some cases I can use *_view_gui to pass some variables, but that's far too limited.