var ModuleName = (function(window, p1, p2) {
    
    // private
    var _soups = {};
    var _soupIndexSpecs = {};
    var _cursors = {};
    var _nextSoupEltIds = {};
    var _nextCursorId = 1;

    // constructor
    var module = function() {}; 

    // prototype public functions
    module.prototype = {
        
        constructor: module,

        // public
        reset: function() {
            _soups = {};
            _soupIndexSpecs = {};
            _cursors = {};
            _nextSoupEltIds = {};
            _nextCursorId = 1;
        },

        // 'private' function
        _isLocalStorageUspported : function(){
        
        }

    };

    // Return module
    return module;

})(window, 'a', 'b');  // pass what the module needs

// inject module in global namespace
var moduleName = new ModuleName();