anchor.diff:    GameState get state() => _state;
   
     EventRoot get updated() => _updatedEvent;
  +
  +  EventRoot get stateChanged() => _gameStateEvent;
   
     SquareState getSquareState(int x, int y) => _states.get(x,y);
   
  
positive.code:     this.field = field,
      _state = GameState.reset,
      _states = new Array2d<SquareState>(field.width, field.height, SquareState.hidden),
      _updatedEvent = new EventHandle<EventArgs>() {
      assert(field != null);
      _minesLeft = field.mineCount;
      _revealsLeft = field.length - field.mineCount;
  
negative.code:   void _update() => _updatedEvent.fireEvent(EventArgs.empty);
  
    void _setState(GameState value) {
      assert(value != null);
      assert(_state != null);
      assert((_state == GameState.reset) == (_startTime == null));
      if(_state != value) {
        _state = value;
  