title: RequireJS: Issue with mutually recursive modules
body: <p>I have a <code>Workout</code> object and a <code>WorkoutSection</code> object. Both use the other for various attributes. The <code>Workout</code> does not use <code>WorkoutSection</code> during load, however <code>WorkoutSection</code> uses <code>Workout</code> during load.</p>
  
  <p>WorkoutSection.js</p>
  
  <pre><code>define(['require',
      // post-load
      'models/Workout'
  ], 
  function(require) {
      // must require Workout because of mutual dependency
      var Workout = require('models/Workout');
  </code></pre>
  
  <p>Workout.js</p>
  
  <pre><code>define([
      'require','models/WorkoutSection'
  ], 
  
      function(require) {
          // must re-require Workout because of mutual dependency
          var WorkoutSection;
  
          var Workout = Parse.Object.extend("Workout",
          {
              initialize : function() {
                  WorkoutSection = require('models/WorkoutSection');
              },
  </code></pre>
  
  <p>The error:</p>
  
  <blockquote>
    <p>Uncaught Error: Module name "models/Workout" has not been loaded yet
    for context: _ <a href="http://requirejs.org/docs/errors.html#notloaded" rel="nofollow">http://requirejs.org/docs/errors.html#notloaded</a>
    require.js:2 H require.js:2 k.s.newContext.j.require require.js:2
    requirejs require.js:2 (anonymous function) WorkoutSection.js:20</p>
  </blockquote>
  
  <p>I am following the solution described in the link, but am still getting the error =S Any ideas that would fix this?</p>
  
  <p>Here's my main.js:</p>
  
  <pre><code>// Filename: main.js
  
  // Require.js allows us to configure shortcut alias
  // Their usage will become more apparent futher along in the tutorial.
  require.config( {
      paths : {
          jQuery : 'libs/jquery/jquery-min',
          Underscore : 'libs/underscore/underscore-min',
          Backbone : 'libs/backbone/backbone-min',
          Parse : 'libs/parse/parse-min',
          templates : '../templates'
      }
  });
  
  require( [
      // Load our app module and pass it to our definition function
      'app',
  ],
  function(App) {
      // The "app" dependency is passed in as "App"
      // Again, the other dependencies passed in are not "AMD" therefore
      // don't pass a parameter to this function
      App.initialize();
  });
  </code></pre>
  
  <p>Thanks!</p>