title: Handlebars helper in requireJS
body: <p>I'm creating a helper to output 7 or 8 lines of HTML to clean up my templates (and comply with DRY - hey that rhymed - wikka wikka).</p>
  
  <p>Here's an example of calling the addOn helper</p>
  
  <pre><code>{{#each promotion.CampaignColors}}
      {{{addOn . CampaignColorType.Code CampaignColorType.Name HexColor "some content" "a title"}}}
  {{/each}}
  </code></pre>
  
  <p>Now, from what I understand, everything after the context should be a hash called options. Here is a stub of my addOn.js</p>
  
  <pre><code>define([
      'handlebars',
      'hbs!templates/addOn',
  ], function (Handlebars, AddOnTemplate) {
      function addOn(context, options) {
          var data = {};
          var compiledTemplate = AddOnTemplate(data);
          console.log(compiledTemplate);
          return compiledTemplate;
      }
  
      Handlebars.registerHelper('addOn', addOn);
      return new Handlebars.SafeString(addOn);
  });
  </code></pre>
  
  <p>However, options is only set to my first parameter being passed. If I change my method signature to: </p>
  
  <pre><code>function addOn(context, key, displayName, value, content, title, test, options) {
  ...
  }
  </code></pre>
  
  <p>.. each of my values are being set, and options NOW becomes an object with an empty hash. </p>
  
  <p>Declaring the params explicitly works, but I'd much rather use the hash. Any thoughts on how to do this? </p>