title: While exporting new object via require.js: does it actually create "new" object or just returns an instance of existing
body: <p>Let's assume I have modules A, B and C in require.js. Module A export new object.</p>
  
  <pre><code>define(function() {
  
      // constructor
      function F() {
          this.prop = 'some';
      }
  
      // module exports
      return new F();   
  
  });
  </code></pre>
  
  <p>Modules B and C imports instance of F() from A:</p>
  
  <pre><code>define(['A'], function(f_inst) {
      // code
  });
  </code></pre>
  
  <p>For some reason I need F to be singleton. I have not serious understanding of how require.js works. So, this is my question: do I need to use singleton patterns for F() in this case?</p>