function callReducerWithBeforeAfterPipe(reducerObject, state, action) {
  const noop = passThroughState => passThroughState;
  const before = reducerObject.hasOwnProperty('BEFORE_REDUCE') ? reducerObject.BEFORE_REDUCE : noop;
  const after = reducerObject.hasOwnProperty('AFTER_REDUCE') ? reducerObject.AFTER_REDUCE : noop;

  const call = (action.type &&
        reducerObject[action.type] &&
        reducerObject[action.type]
      ) || reducerObject.GRIDDLE_INITIALIZED || noop;

  const partialCall = (partialAction => partialState => call(partialState, partialAction))(action);

  const method = flow([before, partialCall, after]);

  return method(state);
}
Builds a composed method containing the before / after reduce calls
@param {Object} reduceObject - The reducer that contains the composed reducer methods
@param {Object} state - The store state
@param {object} action - The action payload information