I don't see many users actually defining named modules in their code.  Most people just use the `paths` property  that you mention inside of their require `config` to set up alias names.  Like this:

```javascript
// Require.js Configurations
// -------------------------
require.config({
  // 3rd party script alias names (Easier to type "jquery" than "libs/jquery, etc")
  paths: {
      // Core Libraries
      // --------------
      "jquery": "../libs/jquery",
      // Plugins
      // -------
      "text": "../libs/plugins/text"
  }
}
```

So, if the Widget Factory registers as an anonymous AMD module and third-party plugins list `jquery.ui.widget` as a dependency, then a user **MUST** set their Widget Factory path name to `jquery.ui.widget`.  If a user tries to user any other path name, then Require.js will throw an error that it cannot find the `jquery.ui.widget` dependency when it loads the third-party plugin.

Here is an example that would cause an error:

```javascript
// Require.js Configurations
// -------------------------
require.config({
  // 3rd party script alias names (Easier to type "jquery" than "libs/jquery, etc")
  paths: {
      // Core Libraries
      // --------------
      "jquery": "../libs/jquery",
      "widgetfactory": "../libs/jquery.ui.widget",
      // Plugins
      // -------
      "text": "../libs/plugins/text",
      "selectboxit": "../libs/plugins/selectboxit"
  }
}

// Throws an error that it cannot find the jquery.ui.widget dependency that SelectBoxIt lists
require(["jquery", "widgetfactory", "selectboxit"], function($) {
  $('select').selectBoxIt();
});
```

If the Widget Factory is exported as a named AMD module, then the previous example would still work even though the user chose their own distinct `path` name.  Here is what the Widget Factory export would look like:

```javascript
(function( factory ) {
  if ( typeof define === "function" && define.amd ) {
    // AMD. Register as an anonymous module.
    define( "jquery.ui.widget", [ "jquery" ], factory );
  } else {
    // Browser globals
    factory( jQuery );
  }
}(function( $ ) {
})); // End
```

This provides a better user experience in my opinion.  But like you said, if a user had set up the correct _jquery.ui.widget_ path, then the previous example would have worked.