code: function(id, area, namespace) {
              var store = _.inherit(_.storeAPI, function(key, data, overwrite) {
                  if (arguments.length === 0){ return store.getAll(); }
                  if (typeof data === "function"){ return store.transact(key, data, overwrite); }// fn=data, alt=overwrite
                  if (data !== undefined){ return store.set(key, data, overwrite); }
                  if (typeof key === "string" || typeof key === "number"){ return store.get(key); }
                  if (!key){ return store.clear(); }
                  return store.setAll(key, data);// overwrite=data, data=key
              });
              store._id = id;
              try {
                  var testKey = '_-bad-_';
                  area.setItem(testKey, 'wolf');
                  store._area = area;
                  area.removeItem(testKey);
              } catch (e) {}
              if (!store._area) {
                  store._area = _.inherit(_.storageAPI, { items: {}, name: 'fake' });
              }
              store._ns = namespace || '';
              if (!_.areas[id]) {
                  _.areas[id] = store._area;
              }
              if (!_.apis[store._ns+store._id]) {
                  _.apis[store._ns+store._id] = store;
              }
              return store;
          }
docs: core functions