code: function (dispatcher) {
  
      if (dispatchers.isDispatcher(dispatcher)) {
        this.dispatcher = dispatcher;
      } else {
        this.dispatcher = new dispatchers.Dispatcher();
      }
  
      this.tokens = [];
  
      this.resetProps();
      this.resetState();
  
      var name = this.constructor.name;
      var trace;
      var handler;
  
      if (factory.isFunction(this.storeWillMount)) {
        trace = new Error(name + ': storeWillMount handler error');
        handler = this.catchError(this.storeWillMount.bind(this), trace);
        this.on('storeWillMount', handler);
      }
  
      if (factory.isFunction(this.storeWillUnmount)) {
        trace = new Error(name + ': storeWillUnmount handler error');
        handler = this.catchError(this.storeWillUnmount.bind(this), trace);
        this.on('storeWillUnmount', handler);
      }
  
      if (factory.isFunction(this.storeWillReceiveProps)) {
        trace = new Error(name + ': storeWillReceiveProps handler error');
        handler = this.catchError(this.storeWillReceiveProps.bind(this), trace);
        this.on('storeWillReceiveProps', handler);
      }
    }
docs: New Store(dispatcher Dispatcher) :Store