anchor.diff:        "arg": arg
       });
   
  +    _completer = new Completer();
       jsGitSalt.callMethod('postMessage', [message, cloneCb]);
  +    return _completer.future;
     }
   
     static void commitCb(var result) {
  
positive.code: 
  library spark.gitsalt;
  
  import 'dart:js' as js;
  
  /**
  
negative.code:   // Javascript object to wrap.
    static js.JsObject jsGitSalt = js.context['gitSalt'];
    static int messageId = 1;
    static Completer _completer = null;
  
    static String genMessageId() {
      messageId++;
  