function execute() {
      var listeners,
          sync = isSync(bench);

      if (!sync) {
        // use `getNext` as a listener
        bench.on('complete', getNext);
        listeners = bench.events.complete;
        listeners.splice(0, 0, listeners.pop());
      }
      // execute method
      result[index] = isClassOf(bench && bench[name], 'Function') ? bench[name].apply(bench, args) : undefined;
      // if synchronous return true until finished
      return sync && getNext();
    }
Executes the method and if synchronous, fetches the next bench.