anchor.diff:    // initialize in-memory data store
     var kiosks = <int, Kiosk>{};
     var signs = <int, Sign>{};
  +  var signIdsForKioskIds = <int, int>{};
     var nextKioskId = 1;
     var nextSignId = 1;
   
  
positive.code:   }
  
    createSign(call, request) async {
      var msg =
          await sendReceive(dataManagerSendPort, Command.create_sign, request);
      var completer = new Completer<Sign>();
      completer.complete(new Sign());
      return completer.future;
    }
  
    listSigns(call, request) async {
      var msg =
          await sendReceive(dataManagerSendPort, Command.list_signs, request);
      var completer = new Completer<ListSignsResponse>();
      completer.complete(new ListSignsResponse());
      return completer.future;
    }
  
    getSign(call, request) async {
      var msg = await sendReceive(dataManagerSendPort, Command.get_sign, request);
      var completer = new Completer<Sign>();
      completer.complete(new Sign());
      return completer.future;
    }
  
    deleteSign(call, request) async {
      var msg =
          await sendReceive(dataManagerSendPort, Command.delete_sign, request);
      var completer = new Completer<Empty>();
      completer.complete(new Empty());
      return completer.future;
    }
  
    setSignIdForKioskIds(call, request) async {
      var msg = await sendReceive(
          dataManagerSendPort, Command.set_sign_id_for_kiosk_ids, request);
      var completer = new Completer<Empty>();
      completer.complete(new Empty());
      return completer.future;
    }
  
    getSignIdForKioskId(call, request) async {
      var msg = await sendReceive(
          dataManagerSendPort, Command.get_sign_id_for_kiosk_id, request);
      var completer = new Completer<GetSignIdResponse>();
      completer.complete(new GetSignIdResponse());
      return completer.future;
    }
  
    getSignIdsForKioskId(call, request) async* {
      yield new GetSignIdResponse();
    }
  }
  
  
negative.code: /// sends a message on a port, receives the response,
  /// and returns the message that was received
  Future sendReceive(SendPort port, command, msg) {
    var response = new ReceivePort();
    port.send([command, msg, response.sendPort]);
    return response.first;
  }
  