anchor.diff:      return completer.future;
     }
   
  +  // TODO Stream a List<int>
  +
     Stream<String> get onRead {
       StreamController<String> controller = new StreamController();
       _onReadControllers.add(controller);
  
positive.code: 
  class SerialPort {
  
  
    static const List<int> AUTHORIZED_BAUDATE_SPEED =  const [50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 4000000];
  
    final String portname;
  
negative.code:   void _read(){
      _readPort = new RawReceivePort();
      _servicePort.send([_readPort.sendPort, "read", _ttyFd]);
      _readPort.handler = (List<int> result) {
        _closeReadPort();
        if(result != null){
          result.forEach((byte) {
            _lineBuffer.write(new String.fromCharCode(byte));
            if(byte == _EOL){
              _onReadControllers.forEach((c) => c.add(_lineBuffer.toString()));
              _lineBuffer.clear();
            }
          });
        }
        // Continue to read
        if(_ttyFd != -1){
  