anchor.diff:          postCallbackCompleter.complete();
         }
       });
  -    
  +
       // Publish a tracking record for this request (synchronously).
       _controller.add(new TrackedRequest._private(
           request, preCallbackCompleter.future, postCallbackCompleter.future));
  -    
  +
       // To be called when an event has been processed. Only on the first one, this
       // should complete the future sent on the tracking stream, indicating a response
       // has been processed.
  
positive.code: 
  /// Represents a request that was issued, and allows listening for its completion.
  class TrackedRequest {
    
    /// Request that was issued.
    final Request request;
  
    /// A future that completes before the first response for the request is returned
    /// (may be an error).
    final Future beforeFirstResponse;
    
    /// A future that completes when the first response for the request is returned
    /// (may be an error).
    final Future onFirstResponse;
    
    TrackedRequest._private(this.request, this.beforeFirstResponse, this.onFirstResponse);
  }
  
  /// Provides a global notification of when requests are issued and when they receive
  /// their first response.
  class RequestTrackingTransformer extends RequestStreamTransformer {
    
    final _controller = new StreamController<TrackedRequest>.broadcast(sync: true);
    
    Stream<TrackedRequest> get trackingStream => _controller.stream;
    
    RequestTrackingTransformer();
    
    Stream bind(Request request, Stream responseStream) {
      var sub;
      var preCallbackCompleter = new Completer.sync();
  
negative.code:         postCallbackCompleter.complete(error);
        }
      }
  
      // Subscribe to the stream. On a new value or error, publish it to the controller.
      sub = responseStream.listen((entity) {
        sawValue = true;
  