constructor(key, opt_callback) {
    super();
    /**
     * Internal storage object.
     * @type {Object}
     * @private
     */
    this.storage_ = {};
    /**
     * @type {!goog.db.IndexedDb}
     * @private
     */
    this.db_;
    /**
     * @type {string}
     * @private
     */
    this.storageKey_ = key;

    goog.db
        .openDatabase(
            e2e.ext.utils.IndexedDbStorage.DB_NAME_,
            e2e.ext.utils.IndexedDbStorage.DB_VERSION_,
            function(ev, db, tx) {
              db.createObjectStore(
                  e2e.ext.utils.IndexedDbStorage.OBJECTSTORE_NAME_);
            })
        .addCallback(function(db) {
          this.db_ = db;
          this.load_(opt_callback);
        }, this);
  }
@param {string} key Key in the database to use for persisting data.
@param {function(!e2e.ext.utils.IndexedDbStorage)=} opt_callback Callback
    function to call once storage mechanism has been initialized.