anchor.diff:    _onData(data){
       data = new String.fromCharCodes(data);
       for(String s in decode(data)){
  -      print(s);
  +      print("${s.runtimeType} : $s");
       }
     }
     conn.listen(_onData, onError: _onError, onDone: _onDone);
  
positive.code:   * TODO: refactor into proxy module
    */
  IsolateSink spawnRemote(String lib){
    var buffer = new List();
    var bufferstream = new Stream.fromIterable(buffer).map(encode);
    var box = new MessageBox();
    Socket socket = null;
    var untilSignal = new Completer();
  
negative.code: import 'dart:io';
  import 'dart:async';
  import 'dart:isolate';
  import 'dart:json' as json;
  
  
  /**
    * encode string with header
    * format: "inputstring" -> "11,inputstring"
    */
  String encode(var input){
    var js = json.stringify(input);
    return "${js.length},$js";
  }
  
  /**
    * split string to a list of strings, according to string headers
    */
  List decode(String input){
    // match group 1 is string length, match group 2 is the rest of the string
    var regex = new RegExp(r'^([0-9]+),(.*)',multiLine:true);
    var output = new List();
    while (regex.hasMatch(input)) {
      var match = regex.firstMatch(input);
  