anchor.diff:    void sendToHost(dynamic message) {
       _hostStreamController.add(message);
     }
  -  
  +
     @override
     void listenFromHost(void onData(var message)) {
  -    _workerStreamController.stream.listen(onData);    
  +    _workerStreamController.stream.listen((message) {
  +      onData(message);
  +    });
     }
   
     void sendToWorker(dynamic message) {
       _workerStreamController.add(message);
     }
  -  
  +
     void listenFromWorker(void onData(var message)) {
  -    _hostStreamController.stream.listen(onData);    
  +    _hostStreamController.stream.listen((message) {
  +      onData(message);
  +    });
     }
   }
   
  
positive.code: 
    Stream<ServiceActionEvent> onIsolateMessage;
    Future onceIsolateReady;
    
    _IsolateHandlerSingleThreadImpl() {
       _port.listenFromWorker(_onWorkerMessage);
      onIsolateMessage = _messageController.stream;
      onceIsolateReady = _readyController.stream.first;
      
      services_impl.init(_port);
      
      // The worker is immediately ready to process messages.
      // TODO(rpaquay): Is this correct?
      _readyController..add(null)..close();
  
negative.code: import 'services_impl.dart' as services_impl;
  
  IsolateHandler createIsolateHandler() {
    return new _IsolateHandlerSingleThreadImpl();
  }
  
  class StreamWorkerPort implements WorkerPort {
  