code: function composeVersion (str, regex) {
    var r = regex.exec(str)
    return {
      number: r[ 1 ],
      stage: r[ 2 ] || null,
      stageName: r[ 3 ] || null,
      stageNumber: r[ 4 ] || null
    }
  }
docs: Transform a string into an exploitable version object.
  @param str The original string
  @returns {{number: *, stage: (*|null), stageName: (*|null), stageNumber: (*|null)}}