mergeState = (state, payload) =>
  Object.keys(payload).reduce(
    (all, key) => ({
      ...all,
      [key]: {
        ...state[key],
        ...payload[key]
      }
    }),
    state
  )
@param {Model} state
@param {Model} payload
@returns {Model}