lib/functional.js
function (requestedPortCount) {
    var self      = this,
        promises  = [],
        totalPorts = this._getMaxServers() * (requestedPortCount + 1);

    for (var i = 0; i < totalPorts; i++) {
      promises.push((function () {
        return self._getOpenPort();
      })());
    }

    return Promise.all(promises);
  }
function (requestedPortCount) {
    var self      = this,
        promises  = [],
        totalPorts = this._getMaxServers() * (requestedPortCount + 1);

    for (var i = 0; i < totalPorts; i++) {
      promises.push((function () {
        return self._getOpenPort();
      })());
    }

    return Promise.all(promises);
  }
Functional._getOpenPorts() -> Array
Allocates a port for each server instance, and each requested port per each server instance