docs: function getSeedDictionary(config, callback) {
      var result = {};
  
      if (config.seedProjects.enable === true) {
          return Q.all(config.seedProjects.basePaths
              .map(function (seedDir) {
                  return Q.ninvoke(fs, 'readdir', seedDir)
                      .then(function (seedPaths) {
                          seedPaths.forEach(function (seedPath) {
                              var extension = path.extname(seedPath),
                                  seedName;
  
                              if (extension.toLowerCase() === '.webgmex') {
                                  seedName = path.basename(seedPath, extension);
                                  if (result.hasOwnProperty(seedName) === false) {
                                      result[seedName] = seedDir + '/' + seedName + extension;
                                  }
                              }
                          });
                      });
              }))
              .then(function () {
                  return result;
              })
              .nodeify(callback);
      } else {
          return Q(result).nodeify(callback);
      }
  }