anchor.diff:      _requester = requesterCompleter.future;
     }
   
  -  /**
  -   * A [StreamSink] to add requests to.
  -   */
  -  StreamSink<List<int>> get onRequest => this;
   
  -  /**
  -   * A [Stream] with responses.
  -   */
  -  Stream<List<int>> get onResponse => _responses.stream;
  +  /* Stream methods */
   
  -  // StreamSink bits
  +  StreamSubscription listen(void onData(event),
  +                            { Function onError,
  +                              void onDone(),
  +                              bool cancelOnError}) =>
  +      _responses.stream.listen(onData, onError: onError, onDone: onDone, cancelOnError: cancelOnError);
  +
  +
  +  /* StreamSink methods */
  +
     Completer completer;
   
     @override
  -  void add(List<int> data) {
  +  void add(data) {
       _requester.then((Function requester) => requester(data));
     }
   
     @override
     void addError(errorEvent, [StackTrace stackTrace]) {
  -    completer.complete(errorEvent);
  +    completer.completeError(errorEvent);
     }
   
     @override
  -  Future addStream(Stream<List<int>> stream) {
  -    return stream.listen((List<int> data) => add(data)).asFuture();
  +  Future addStream(Stream stream) {
  +    return stream.listen((data) => add(data)).asFuture();
     }
   
     @override
  -  Future close() => completer.future;
  +  Future close() {
  +    completer.complete();
  +    return completer.future;
  +  }
   
     @override
     Future get done  => completer.future;
  
positive.code:     }, onError: (e){});
      html.loadLibrary().then((_) {
        browser_client.loadLibrary().then((_) {
          requesterCompleter.complete((List<int> data) {
            var client = new browser_client.BrowserClient();
            client.post(address, body: data).then((response) {
              _responses.add(response.bodyBytes);
            });
          });
  
negative.code:       try {
          client = new io.HttpClient();
        } catch (e) {return;}
        requesterCompleter.complete((data) {
          client.postUrl(endpoint).then((request) {
            request.add(data);
            request.close().then((response) {
              _responses.addStream(response);
  