function Reactor(config) {"use strict";
		    if (!(this instanceof Reactor)) {
		      return new Reactor(config)
		    }
		    config = config || {}

		    this.debug = !!config.debug

		    this.ReactMixin = createReactMixin(this)
		    /**
		     * The state for the whole cluster
		     */
		    this.__state = Immutable.Map({})
		    /**
		     * Holds a map of id => reactor instance
		     */
		    this.__stores = Immutable.Map({})

		    this.__evaluator = new Evaluator()
		    /**
		     * Change observer interface to observe certain keypaths
		     * Created after __initialize so it starts with initialState
		     */
		    this.__changeObserver = new ChangeObserver(this.__state, this.__evaluator)
		  }
In Nuclear Reactors are where state is stored.  Reactors
contain a 'state' object which is an Immutable.Map

The only way Reactors can change state is by reacting to
messages.  To update staet, Reactor's dispatch messages to
all registered cores, and the core returns it's new
state based on the message