function initialize(appReducer, preloadedState, enhancer, middleware) {
	const reducer = getReducer(appReducer);
	if (typeof enhancer === 'function') {
		enhancers.push(enhancer);
	}
	const middles = getMiddlewares(middleware);
	const store = compose(applyMiddleware(...middles), ...enhancers)(createStore)(
		reducer,
		preloadedState,
	);

	return store;
}
/**
 * helper to create the store with all the things needed by CMF
 * the store look like this:
 * - root
 * |- app (with appReducer)
 * |- cmf (for the internals)
 *
 * @param  {function} appReducer   the reducer for your app.
 * @param  {any} preloadedState if you want to create your state tree with initial values.
 *                              This is usefull for server side renderring
 * @param  {function} enhancer     The store enhancer
 * @param  {Array|function} middleware   redux middleware: http://redux.js.org/docs/api/applyMiddleware.html
 * @return {Object}              The created store
 */
helper to create the store with all the things needed by CMF
the store look like this:
- root
|- app (with appReducer)
|- cmf (for the internals)

@param  {function} appReducer   the reducer for your app.
@param  {any} preloadedState if you want to create your state tree with initial values.
helper to create the store with all the things needed by CMF the store look like this : - root | - app ( with appReducer ) | - cmf ( for the internals ) @param { function } appReducer the reducer for your app . @param { any } preloadedState if you want to create your state tree with initial values .
function initialize(appReducer, preloadedState, enhancer, middleware) {
	const reducer = getReducer(appReducer);
	if (typeof enhancer === 'function') {
		enhancers.push(enhancer);
	}
	const middles = getMiddlewares(middleware);
	const store = compose(applyMiddleware(...middles), ...enhancers)(createStore)(
		reducer,
		preloadedState,
	);
	return store;
}
function initialize ( appReducer , preloadedState , enhancer , middleware ) { const reducer = getReducer ( appReducer ) ; if ( typeof enhancer === 'function' ) { enhancers . push ( enhancer ) ; } const middles = getMiddlewares ( middleware ) ; const store = compose ( applyMiddleware ( ... middles ) , ... enhancers ) ( createStore ) ( reducer , preloadedState , ) ; return store ; }
helper to create the store with all the things needed by CMF
 the store look like this:
 - root
 |- app (with appReducer)
 |- cmf (for the internals)
helper to create the store with all the things needed by CMF the store look like this : - root | - app ( with appReducer ) | - cmf ( for the internals )