anchor.diff:  import 'middleware.dart';
   import 'typedefs.dart';
   
  -/// [Store] is the container of your state.
  +/// [Store] is the container of your state. It listens for actions, invokes reducers,
  +/// and publishes changes to the state
   class Store<State extends BuiltReducer<State, StateBuilder>,
       StateBuilder extends Builder<State, StateBuilder>, Actions extends ReduxActions> {
     // stream used for dispatching actions
     final StreamController<Action<dynamic>> _dispatch = new StreamController.broadcast();
   
     // stream used to dispatch changes to the state
  -  final StreamController<State> _stateController = new StreamController.broadcast();
  +  final StreamController<StoreChange<State, StateBuilder, dynamic>> _stateController =
  +      new StreamController.broadcast();
   
     // the current state
     State _state;
  
positive.code:       if (_state == state) return;
  
        // update the internal state and publish the change
        _state = state;
        _stateController.add(_state);
      };
  
      // if middleware is give build the chain
  
negative.code:   }
  
    /// [subscribe] returns a stream that will be dispatched whenever the state changes
    Stream<StoreChange<State, StateBuilder, dynamic>> get subscribe => _stateController.stream;
  
    /// [state] returns the current state
    State get state => _state;
  