function addColumnPropertiesWhenNoneExist(stateObject) {
  if(!hasData(stateObject) || hasColumnProperties(stateObject)) {
    return stateObject;
  }

  return {
    ...stateObject,
    renderProperties: {
      columnProperties: Object.keys(stateObject.data[0]).reduce(((previous, current) => {
        previous[current] = { id: current, visible: true }

        return previous;
      }), {})
    }
  };
}
Gets a new state object (not immutable) that has columnProperties if none exist
@param (object) stateObject - a non-immutable state object for initialization

TODO: Needs tests