title: Meteor - handling events in nested templates... without polluting 'Session' variable
body: <p>I've come across this situation several times now and I realise I'm not really confident about the 'meteor/right' way to handle it.</p>
  
  <p>Suppose I have a form with several parts - each represented by a template - and within each part there are more templates representing eg. datepickers etc.</p>
  
  <pre><code>&lt;template name='myForm'&gt;
      {{&gt;partOne}}
      {{&gt;partTwo}}
      &lt;button class='submit'&gt;Submit&lt;/button&gt;
  &lt;/template&gt;
  
  &lt;template name='partOne'&gt;
      {{&gt;widget}}
      {{&gt;widget}}
  &lt;/template&gt;
  
  &lt;template name='widget'&gt;
      &lt;input class='datepicker' /&gt;
  &lt;/template&gt;
  </code></pre>
  
  <p>I want to keep track of my form as the user fills it out - on the level of the 'myForm' template - but all the events are happening at the level of 'widget'. </p>
  
  <p>One solution I keep seeing (e.g. <a href="https://stackoverflow.com/a/26071066/1094784">in this SO answer</a>) is to just put everything in the global Session variable. Like so</p>
  
  <pre><code>Template.widget.events({
      'click .select' : function(event, template){
          var name = template.data.name;
          Session.set(name, $(event.currentTarget).val());
      }
  });
  </code></pre>
  
  <p>And then in myForm I should do something like this</p>
  
  <pre><code>Template.myForm.rendered = function(){
      Tracker.autorun(function(){
          var name = Session.get('name');
          // do something
      });
  }
  </code></pre>
  
  <p>But as my forms are getting more complicated, I find this is really turning into a mess on the myForm template level, all while filling up my Session variable with data that isn't really application-global.</p>
  
  <p>I'd be really grateful for any ideas on how others deal with this ! Keeping templates and widgets modular while still being able to follow and react to their triggered events from parent templates...</p>