function Store(name, callback) {
    var data;
    var dbName;

    callback = callback || function () {};

    dbName = this._dbName = name;

    chrome.storage.local.get(dbName, function(storage) {
      if ( dbName in storage ) {
        callback.call(this, storage[dbName].todos);
      } else {
        storage = {};
        storage[dbName] = { todos: [] };
        chrome.storage.local.set( storage, function() {
          callback.call(this, storage[dbName].todos);
        }.bind(this));
      }
    }.bind(this));
  }
Creates a new client side storage object and will create an empty
collection if no collection already exists.

@param {string} name The name of our DB we want to use
@param {function} callback Our fake DB uses callbacks because in
real life you probably would be making AJAX calls