function newObjectInStorage(uniqueKey) {

    log('newObjectInStorage: enter');
    log('newObjectInStorage: uniqueKey=' + uniqueKey);

    var utils = {};

    utils.storageKey = uniqueKey;

    utils.set = function set(objectValue) {
        //log('newObjectInStorage.utils.set: enter');
        //log('newObjectInStorage.utils.set: storageKey=' + utils.storageKey);

        var stringValue = JSON.stringify(objectValue);

        localStorage.setItem(utils.storageKey, stringValue);

        //log('newObjectInStorage.utils.set: leave');
    };

    utils.get = function get() {
        //log('newObjectInStorage.utils.get: enter');
        //log('newObjectInStorage.utils.get: storageKey=' + utils.storageKey);

        var stringValue = localStorage.getItem(utils.storageKey);

        var value = null;

        if ((typeof stringValue === "undefined") || (stringValue === null)) {
            value = {};
        }
        else {
            value = JSON.parse(stringValue);
        }

        //log('newObjectInStorage.utils.get: leave');

        return value;
    };

    utils.clear = function clear() {

        log('newObjectInStorage.utils.clear: enter');
        log('newObjectInStorage.utils.clear: storageKey=' + utils.storageKey);

        localStorage.removeItem(this.storageKey);

        log('newObjectInStorage.utils.clear: leave');
    }

    log('newObjectInStorage: leave');

    return utils;
}