anchor.diff:  
       component.initStateInternal();
       return new EmptyObject();
  -  }));
  +  });
   
     /// Wrapper for [Component.componentWillMount].
  -  var componentWillMount = allowInteropCaptureThis((ReactComponent jsThis) => zone.run(() {
  +  void componentWillMount(ReactComponent jsThis) => zone.run(() {
       var internal = jsThis.props.internal;
       internal.isMounted = true;
       internal.component
           ..componentWillMount()
           ..transferComponentState();
  -  }));
  +  });
   
     /// Wrapper for [Component.componentDidMount].
  -  var componentDidMount = allowInteropCaptureThis((ReactComponent jsThis) => zone.run(() {
  +  void componentDidMount(ReactComponent jsThis) => zone.run(() {
       jsThis.props.internal.component.componentDidMount();
  -  }));
  -
  -  _getNextProps(Component component, InteropProps newArgs) {
  +  });
  +
  +  _getNextProps(Component component, InteropProps newArgs) => zone.run(() {
       var newProps = newArgs.internal.props;
       return newProps != null ? new Map.from(newProps) : {};
  -  }
  +  });
   
     /// 1. Add [component] to [newArgs] to keep it in [InteropProps.internal]
     /// 2. Update [Component.props] using the value stored to [Component.nextProps]
  
positive.code:   }
  
    /// Wrapper for [Component.componentWillReceiveProps].
    var componentWillReceiveProps =
        allowInteropCaptureThis((ReactComponent jsThis, InteropProps newArgs, [reactInternal]) => zone.run(() {
      var component = jsThis.props.internal.component;
      var nextProps = _getNextProps(component, newArgs);
      component.nextProps = nextProps;
      component.componentWillReceiveProps(nextProps);
    }));
  
    /// Wrapper for [Component.shouldComponentUpdate].
    var shouldComponentUpdate =
        allowInteropCaptureThis((ReactComponent jsThis, InteropProps newArgs, nextState, nextContext) => zone.run(() {
      Component component = jsThis.props.internal.component;
  
      if (component.shouldComponentUpdate(component.nextProps, component.nextState)) {
  
negative.code:   var zone = Zone.current;
  
    /// Wrapper for [Component.getDefaultProps].
    EmptyObject getDefaultProps() => zone.run(() {
      return new EmptyObject();
    });
  
    /// Wrapper for [Component.getInitialState].
    EmptyObject getInitialState(ReactComponent jsThis) => zone.run(() {
      var internal = jsThis.props.internal;
      var redraw = () {
        if (internal.isMounted) {
  