anchor.diff:          _processor/*<T>*/(mode ?? CommandConcurrencyMode.concurrentCommand);
   
       return executeTask/*<T>*/(
  -        taskDescription,
  -        processor(
  -            (JefeProject project) =>
  -                _processOnSingeProject2(project, taskDescription, command),
  -            filter: filter,
  -            combine: combine));
  +        taskDescription, processor(command, filter: filter, combine: combine));
  +  }
  +
  +//  Future/*<T>*/ processDepthFirst/*<T>*/(ProjectFunction/*<T>*/ command,
  +//          {ProjectFilter filter, Combiner/*<T>*/ combine}) =>
  +//      graph.processDepthFirst(command, filter: filter, combine: combine);
  +
  +  Callable/*<T>*/ _concurrentProcessor/*<T>*/(ProjectFunction/*<T>*/ command,
  +      {ProjectFilter filter, Combiner/*<T>*/ combine}) {
  +    return () =>
  +        graph.processAllConcurrently(command, filter: filter, combine: combine);
  +  }
  +
  +  Callable/*<T>*/ _serialProcessor/*<T>*/(ProjectFunction/*<T>*/ command,
  +      {ProjectFilter filter, Combiner/*<T>*/ combine}) {
  +    return () =>
  +        graph.processDepthFirst(command, filter: filter, combine: combine);
  +  }
  +
  +//  Callable/*<T>*/ _singleProjectProcessor/*<T>*/(ProjectFunction/*<T>*/ command,
  +//      {ProjectFilter filter, Combiner/*<T>*/ combine}) {
  +//    return () {
  +//      final project = graph as JefeProject;
  +//      if (!filter(project)) {
  +//        return new Future.value();
  +//      }
  +//      return command(project);
  +//    };
  +//  }
  +
  +  _Processor/*<T>*/ _processor/*<T>*/(CommandConcurrencyMode mode) {
  +//    if (isSingleProjectMode) {
  +//      return _singleProjectProcessor;
  +//    }
  +
  +    switch (mode) {
  +      case CommandConcurrencyMode.serial:
  +        return _serialProcessor;
  +      case CommandConcurrencyMode.concurrentCommand:
  +      case CommandConcurrencyMode.concurrentProject:
  +      default:
  +        return _concurrentProcessor;
  +    }
     }
   }
   
  
positive.code: Logger _log = new Logger('jefe.project.command.multiproject');
  
  typedef Future<T> SingleProjectCommandFactory<T>(JefeProject project);
  
  /**
   * TODO: we could build a default mode into JefeProject / JefeProjectGraph etc
  
negative.code:  */
  
  class MultiProjectCommandSupport<C> {
    final JefeProjectGraph graph;
  
    final SingleProjectCommandFactory<C> _factory;
  
  