Conditionally saves a single property from this object to the given state object.
The idea is to only save state which has changed from the initial state so that
current software settings do not override future software settings. Only those
values that are user-changed state should be saved.

@param {String} propName The name of the property to save.
@param {Object} state The state object in to which to save the property.
@param {String} stateName (optional) The name to use for the property in state.
@return {Boolean} True if the property was saved, false if not.
function (propName, state, stateName) {
        var me = this,
            value = me[propName],
            config = me.initialConfig;

        if (me.hasOwnProperty(propName)) {
            if (!config || config[propName] !== value) {
                if (state) {
                    state[stateName || propName] = value;
                }
                return true;
            }
        }
        return false;
    }