title: "id is already registered" error on widget with no id
body: <p>I'm new to dojo and dijit and have been having trouble for about a week now creating widgets that contain other widgets. I've looked at many other articles about this error but haven't had any luck implementing the solutions listed in them.</p>
  
  <p>In short, I'm using dojo 1.10 and I have a templated widget containing a non-templated widget. When I load my page, I get the error <em>Error: Tried to register widget with id==mtt_SearchPane2_0_searchPane but that id is already registered.</em></p>
  
  <p>I haven't given anything an explicit id, and I'm not calling parse anywhere, so I'm kind of stumped.</p>
  
  <p>Here's my html:</p>
  
  <pre><code>&lt;body class="claro"&gt;
      &lt;div id = "appLayout" &gt;&lt;/div&gt;
  
      &lt;script src="js/dojo/dojo.js" data-dojo-config="async:true, parseOnLoad:true"&gt;&lt;/script&gt;
      &lt;script&gt;
          require([
              "dijit/registry", 
              "dijit/layout/BorderContainer",
              "mtt/SearchPane2",
              "dojo/domReady!"],
              function(registry, BorderContainer, SearchPane )
              {
                  var appLayout = new BorderContainer({
                      design: "headline"
                  }, "appLayout");
  
                  var searchPane = new SearchPane ( { region : "center" } );
                  appLayout.addChild ( searchPane );
                  searchPane.startup ();
  
                  appLayout.startup();                    
  
              });
      &lt;/script&gt;
  &lt;/body&gt;
  </code></pre>
  
  <p>I've got a SearchPane widget, like so:</p>
  
  <pre><code>define  ( 
  [
      "dojo/_base/declare", 
      "dijit/_WidgetBase",
      "dijit/_TemplatedMixIn",
      "dijit/_WidgetsInTemplateMixin",
      "dojo/text!mtt/templates/SearchPane2.html",
      "mtt/ImageCheckBox",
      "dojo/domReady!"
  ], 
  function ( declare, _WidgetBase, _TemplatedMixIn, _WidgetsInTemplateMixIn, template, ImageCheckBox )
  {
      return declare ( 
          "mtt.SearchPane2",
          [ _WidgetBase, _TemplatedMixIn, _WidgetsInTemplateMixIn ], 
          {
              templateString: template,
          } 
      );
  });
  </code></pre>
  
  <p>With an associated template :</p>
  
  <pre><code>&lt;div&gt;
      &lt;div
          data-dojo-attach-point="checkBox"
          data-dojo-type="mtt/ImageCheckBox"
      /&gt;
      &lt;div data-dojo-attach-point="contentPane"&gt;&lt;/div&gt;
      moo
  &lt;/div&gt;
  </code></pre>
  
  <p>And that in turn contains an ImageCheckBox:</p>
  
  <pre><code>require([
      "dojo/_base/declare", 
      "dijit/_WidgetBase"
  ], function(declare, _WidgetBase )
  {
  
      return declare("mtt/ImageCheckBox", [_WidgetBase ], {
      });
  });
  </code></pre>
  
  <p>.. which has no template.</p>
  
  <p>Oddly, if I have ImageCheckBox inherit from _TemplatedMixin instead of _WidgetBase, it's fine.</p>
  
  <p>Thanks in advance to anybody who can shed light on this.</p>