And personal take on the topic : 

	get : function () {
		if (!key in this.settings_) {
			this.settings_[key] = this.readFromLocalStorage_(key) || this.readFromDefaults_(key);
		}
		return this.settings_[key];
	},

	readFromLocalStorage_ : function (key) {
		var value = window.localStorage[key];
		if (typeof value != "undefined") {
			value = JSON.parse(value);
		}
		return value;
	},

	readFromDefaults_ : function (key) {
		return this.KEY_TO_DEFAULT_VALUE_MAP_[key];
	}