code: function (name, addOnUrl, success, scope, failure) {
          var self = this, url = addOnUrl;
  
          function loadDependencies() {
            var dependencies = self.dependencies(name);
  
            each(dependencies, function (dep) {
              var newUrl = self.createUrl(addOnUrl, dep);
  
              self.load(newUrl.resource, newUrl, undefined, undefined);
            });
  
            if (success) {
              if (scope) {
                success.call(scope);
              } else {
                success.call(ScriptLoader);
              }
            }
          }
  
          if (self.urls[name]) {
            return;
          }
  
          if (typeof addOnUrl === "object") {
            url = addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;
          }
  
          if (url.indexOf('/') !== 0 && url.indexOf('://') == -1) {
            url = AddOnManager.baseURL + '/' + url;
          }
  
          self.urls[name] = url.substring(0, url.lastIndexOf('/'));
  
          if (self.lookup[name]) {
            loadDependencies();
          } else {
            ScriptLoader.ScriptLoader.add(url, loadDependencies, scope, failure);
          }
        }
docs: Loads an add-on from a specific url.
  
  @method load
  @param {String} name Short name of the add-on that gets loaded.
  @param {String} addOnUrl URL to the add-on that will get loaded.
  @param {function} success Optional success callback to execute when an add-on is loaded.
  @param {Object} scope Optional scope to execute the callback in.
  @param {function} failure Optional failure callback to execute when an add-on failed to load.
  @example
  // Loads a plugin from an external URL
  tinymce.PluginManager.load('myplugin', '/some/dir/someplugin/plugin.js');
  
  // Initialize TinyMCE
  tinymce.init({
  ...
  plugins: '-myplugin' // Don't try to load it again
  });