code: function getItem(key, callback) {
  	        var self = this;
  
  	        // Cast the key to a string, as that's all we can set as a key.
  	        if (typeof key !== 'string') {
  	            globalObject.console.warn(key + ' used as a key, but it is not a string.');
  	            key = String(key);
  	        }
  
  	        var promise = self.ready().then(function () {
  	            var dbInfo = self._dbInfo;
  	            var result = localStorage.getItem(dbInfo.keyPrefix + key);
  
  	            // If a result was found, parse it from the serialized
  	            // string into a JS object. If result isn't truthy, the key
  	            // is likely undefined and we'll pass it straight to the
  	            // callback.
  	            if (result) {
  	                result = dbInfo.serializer.deserialize(result);
  	            }
  
  	            return result;
  	        });
  
  	        executeCallback(promise, callback);
  	        return promise;
  	    }
docs: Retrieve an item from the store. Unlike the original async_storage library in Gaia, we don't modify return values at all. If a key's value is `undefined`, we pass that value to the callback function.