code: function bindProcess(procObj) {
    var self = this;
    procObj
      .on('change', function onChange(path) {
        self.emit('change', procObj.name, path);
      }).on('build', function onBuild(fileName) {
        if(self.config.debug) {
          var fname = '';
          if(typeof fileName === 'string') {
            fname = fileName.replace(path.normalize(global['__rootdir'] + '/'),'');
          }
          log.trace('Crux.build.' + procObj.name + " compiled %s.", fname);
        }
        self.emit('build', procObj.name);
      }).on('error', function onProcessError(err) {
        if(self.listeners('error').length !== 0) {
          return self.emit('error', err);
        }
        log.error('Crux.build: Process %s encountered an error', procObj.name);
        log.debug(err);
      });
  }
docs: This is a private function that will capture the events from a specific process
  and proxy them to the build component.<br/>
  <b>Note</b>: the build process interface extends node's EventEmitter, and should emit <b>at least</b> the following events:<br/>
  - <b>change</b> - change to a watched file occurs<br/>
  - <b>build</b> - the build process has been completed and output has been generated<br />
  - <b>error</b> - the build process encounteres an error.
  @memberof crux.Build.Build
  @function bindProcess
  @instance
  @param {Process} procObj - the process object to listen to events from.
  @private