title: Identify calling module in requirejs
body: <p>I want to make a sort of loader class. Consider:</p>
  
  <p>config.js</p>
  
  <pre><code>define(function() {
       return {
         appViews : [
              'baseViews',
              'fullDocViews', 
              'docCreateViews',
              'accountViews',
              'fullDocViews',
              'notifyViews'
          ]
      }
  }
  </code></pre>
  
  <p>loader.js</p>
  
  <pre><code>define(['config', 'underscore'], function (Config, _) {
      var Loader = {};
  
      _.each(Config.appViews, function (view) {
          var include = 'views/'+view;
          Loader[view] = require([include], function (Include) {
              return Include;
          });
      });
      return Loader;
  });
  </code></pre>
  
  <p>fullDocViews.js</p>
  
  <pre><code>define(['loader'], function (Loader) {
      var moduleView = Loader.baseViews.BaseView.extend({
          // Loving life here...
      })
  });
  </code></pre>
  
  <p>This, however, creates a circular dependency, since calling the loader calls fullDocsView module. Is there any way that, in loader.js, I can exclude the calling module from the resulting hash of views?</p>
  
  <p>So what I'm looking for is this:</p>
  
  <pre><code>define(['config', 'underscore'], function (Config, _) {
      var Loader = {};
  
      _.each(Config.appViews, function (view) {
          if (view !== callingView) {
              var include = 'views/'+view;
              Loader[view] = require([include], function (Include) {
                  return Include;
              });
          }
      });
      return Loader;
  });
  </code></pre>