code: function createManager () {
    const INITIAL_STATE = {
      content: null,
      loading: true,
      currentPathname: null,
      nextPathname: null
    }
  
    const store = createStore(reducer)
  
    function reducer (state = INITIAL_STATE, action) {
      switch (action.type) {
        case 'CONTENT_LOADED':
          if (!action.asynchronously || action.pathname === state.nextPathname) {
            return {
              content: action.content,
              loading: false,
              currentPathname: action.pathname,
              nextPathname: null
            }
          } else {
            return state
          }
        case 'CONTENT_LOAD_STARTED':
          return {
            content: state.content,
            loading: true,
            currentPathname: state.pathname,
            nextPathname: action.pathname
          }
        default:
          return state
      }
    }
  
    const manager = {
      subscribe (callback) {
        return store.subscribe(callback)
      },
      getContent () {
        return store.getState().content
      },
      getCurrentPathname () {
        return store.getState().currentPathname
      },
      isLoading () {
        return store.getState().loading
      },
      isReady () {
        return !!store.getState().content
      },
      handleContentLoaded (pathname, content, { asynchronously }) {
        store.dispatch({ type: 'CONTENT_LOADED', pathname, content, asynchronously })
      },
      handleContentLoadStarted (pathname) {
        store.dispatch({ type: 'CONTENT_LOAD_STARTED', pathname })
      }
    }
  
    return manager
  }
docs: -- Creates a content manager which stores the content to render.