anchor.diff:  class ReconnectingSocket {
     WebSocket webSocket;
     String url;
  -  MessageCallback callback;
  -  bool connected = false;
   
  -  ReconnectingSocket(this.url, this.callback) {
  +  ReconnectingSocket(this.url) {
       _init();
     }
   
  
positive.code: 
    TarabishSocket(url) {
      eventMap = new Map();
      webSocket = new ReconnectingSocket(url, _receiveEvent);
    }
  
    _receiveEvent(String encodedMessage) {
  
negative.code:     }
  
      webSocket.onOpen.listen((e) {
        print('Connected');
        retrySeconds = 2;
      });
  
      webSocket.onClose.listen((e) => scheduleReconnect());
      webSocket.onError.listen((e) => scheduleReconnect());
    }
  
    send(String data) {
      webSocket.send(data);
    }
  
    // There's probably a better way to proxy these, I don't know it.
    Stream<Event> get onOpen => webSocket.onOpen;
    Stream<CloseEvent> get onClose => webSocket.onClose;
    Stream<Event> get onError => webSocket.onError;
    Stream<MessageEvent> get onMessage => webSocket.onMessage;
  
  }
  
  class TarabishSocket {
  