anchor.diff:      return pin;
     }
   
  -  /// An event indicating the given pin's state has changed.
  +  /// Called when a pin's state has changed.
     void _handleInterrupt(message) {
       if (message is int) {
  -      int value = (message & GpioHardware.pinValueMask) != 0 ? 1 : 0;
         int pinNum = message & GpioHardware.pinNumMask;
         if (0 <= pinNum && pinNum < _pins.length) {
  -        var pin = _pins[pinNum];
  -        if (pin._events != null) {
  -          pin._events.add(new PinEvent(pin, value));
  -        }
  +        int value = (message & GpioHardware.pinValueMask) != 0 ? 1 : 0;
  +        _pins[pinNum]._handleInterrupt(value);
         }
       }
     }
  
positive.code: 
    @override
    String toString() => '$description $mode';
  }
  
  /// An event indicating that a pin has changed state.
  
negative.code:         }
          Gpio._instance._initInterrupts();
          Gpio._hardware.enableInterrupt(pinNum);
          _lastInterruptValue = value;
        }, onCancel: () {
          _events.close();
          _events = null;
  