anchor.diff:      _apiServer.enableDiscoveryApi();
       return shelf_rpc.createRpcHandler(_apiServer);
     },
  -  "static": (Map config) {
  +  "static": (String path, Map config) {
       return shelf_static.createStaticHandler("web",
                                                 defaultDocument: "index.html",
                                                 serveFilesOutsidePath: true);
     },
  -  "pub": (Map config) async {
  +  "pub": (String path, Map config) async {
       var port = _PUB_PORT+=10;
       print("trying to serve ${config["package"]} on $port");
       var workingDir = ".";
  
positive.code: int _PUB_PORT = 7777;
  
  final Map<String, HandlerFactory> handlerFactories = {
    "api": (Map config) {
      const _API_PREFIX = '/api';
      final rpc.ApiServer _apiServer = new rpc.ApiServer(apiPrefix: _API_PREFIX, prettyPrint: true);
      for (var lib in currentMirrorSystem().libraries.values) {
        if (lib.simpleName==const Symbol("discovery.api")) continue;
        for (var c in lib.declarations.values.where((d)=>d is ClassMirror)) {
  
negative.code: };
  
  createMiddleware(Map config) => middlewareFactories[config["type"]](config);
  createHandler(String path, Map config) => handlerFactories[config["type"]](path, config);
  
  run(List<String> args, [dynamic config]) async {
    Logger.root.onRecord.listen(print);
  