anchor.diff:      registerService(new ExampleService(this, _isolateHandler));
     }
   
  +  Future<String> ping() => _isolateHandler.ping();
  +
     Service getService(String serviceId) => _services[serviceId];
   
     void registerService(Service service) {
       _services[service.serviceId] = service;
     }
  -
   }
   
   /**
  
positive.code:  * Defines a class which handles all isolate setup and communication
   */
  class _IsolateHandler {
    final String _workerPath = 'services_impl.dart';
    SendPort _sendPort;
    final ReceivePort _receivePort = new ReceivePort();
  
    // Fired when isolate responds to message
    Stream<ServiceActionEvent> onIsolateResponse(String callId) {
      // TODO(ericarnold): Implement
    }
  
    // Fired when isolate originates a message
    Stream onIsolateMessage;
  
negative.code:   }
  
    Future _startIsolate() {
      _receivePort.listen((arg) {
        if (_sendPort == null) {
          _sendPort = arg;
          _readyController..add(null)..close();
        } else {
          pong(arg);
        }
      });
  
      return Isolate.spawnUri(Uri.parse(_workerPath), [], _receivePort.sendPort);
    }
  
    Future<String> ping() {
      Completer<String> completer = new Completer();
      int callId = _topCallId;
      _serviceCallCompleters[callId] = completer;
  
      onceIsolateReady.then((_){
        _sendPort.send(callId);
      });
  
      _topCallId += 1;
      return completer.future;
    }
  
    Future pong(int id) {
      Completer completer = _serviceCallCompleters[id];
      _serviceCallCompleters.remove(id);
      completer.complete("pong");
      return completer.future;
    }
  
  
    Future<ServiceActionEvent> sendAction(String serviceId, String actionId,
        String callId, [String data = ""]) {
  