code: function WebStore(id, options) {
  	// Allow for new-less invocation
  	if (! (this instanceof WebStore)) {return new WebStore(id);}
  
  	var me = MemoryStorage.call(this, id);
  	if (! me.config) {
  		var config = DEFAULTS;
  		for (var key in options) {
  			config[key] = options[key];
  		}
  		Object.defineProperty(me, 'config', {
  			enumerable: false,
  			writeable: false,
  			configurable: false,
  			get: function(){return config;}
  		});
  	}
  	return me;
  }
docs: @module webstore 
  Creates a new WebStore object implementing the <a href="http://www.w3.org/TR/webstorage/">Web Storage API</a>.
  
  <p>If no arguments are given, the created storage object will read from and write to the
  <code>global</code> storage. If a string argument is given, the new storage object
  will read from and write to it's own segment of storage. Any data written to such a
  storage object will only show up in other storage objects that have been created with
  the same id. This data will not show up in the <code>global</code> storage. As such it
  is recommended to always construct a storage object with a unique string id as argument.</p>
  
  @param id Optional string argument used to isolate this storage object from others.
  
  @alias module:webstore.WebStore
  @class