code: function Module(data, range, depth) {
    this._id = data.name +'@'+ range;     // An unique id that identifies this module.
    this.released = data.released;        // The date this version go released.
    this.licenses = data.licenses;        // The licensing.
    this.version = data.version;          // The version of the module.
    this.author = data._npmUser || {};    // Author of the release.
    this.latest = data.latest;            // What the latest version is of the module.
    this.required = range;                // Which range we required to find this module.
    this.name = data.name;                // The name of the module.
    this.parents = [];                    // Modules that depend on this version.
    this.dependent = [];                  // Modules that depend on this version.
    this.depth = depth;                   // The depth of the dependency nesting.
  }
docs: The representation of a single module.
  
  @constructor
  @param {Object} data The module data.
  @param {String} range The semver range used to get this version.
  @param {Number} depth How deeply nested was this module.
  @api private