/// <summary>
 /// Stores the data.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="value">The value.</param>
 /// <returns></returns>
 public Task StoreAsync(string key, Token value)
 {
     return(_bucket.InsertAsync(TokenWrapper.TokenWrapperId(key), new TokenWrapper()
     {
         Id = key,
         Model = new Token()
     }));
 }
 /// <summary>
 /// Removes the data.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <returns></returns>
 public Task RemoveAsync(string key)
 {
     return(_bucket.RemoveAsync(TokenWrapper.TokenWrapperId(key)));
 }
        /// <summary>
        /// Retrieves the data.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public async Task <Token> GetAsync(string key)
        {
            var result = await _bucket.GetAsync <TokenWrapper>(TokenWrapper.TokenWrapperId(key));

            return(result.Success ? result.Value.Model : null);
        }