docs: function _gpfRequireDefine(dependencies, factory) {
          var me = this, promises = [], keys = Object.keys(dependencies);
          _gpfArrayForEach(keys, function (key) {
              promises.push(_gpfRequireGet.call(me, _gpfRequireResolve.call(me, dependencies[key])));
          }, me);
          return Promise.all(promises).then(function (resources) {
              var result, require;
              if (typeof factory === "function") {
                  require = {};
                  _gpfArrayForEach(keys, function (key, index) {
                      require[key] = resources[index];
                  });
                  result = factory(require);
              } else {
                  result = factory;
              }
              return result;
          });
      }