/// <summary>
        /// Sign in request
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public UnityTask FacebookConnect(AccessToken token)
        {
            var task = new UnityTask { Strategy = TaskStrategy.Custom };

            FacebookConnect(token, task.FromResponse());

            return task;
        }
        /// <summary>
        /// Removal
        /// </summary>
        /// <returns></returns>
        public UnityTask FacebookDisconnect()
        {
            var task = new UnityTask { Strategy = TaskStrategy.Custom };

            FacebookDisconnect(task.FromResponse());

            return task;
        }
 /// <summary>
 /// Deletes the current account
 /// </summary>
 /// <param name="password"></param>
 /// <returns></returns>
 public UnityTask Delete(string password)
 {
     var task = new UnityTask(TaskStrategy.Custom);
     Delete(password, task.FromResponse());
     return task;
 }
 /// <summary>
 /// Tells the server to send out an recovery email. This email will contain a reset token.
 /// </summary>
 /// <param name="email"></param>
 /// <returns></returns>
 public UnityTask Reset(string email)
 {
     var task = new UnityTask(TaskStrategy.Custom);
     Reset(email, task.FromResponse());
     return task;
 }
 /// <summary>
 /// Update account details
 /// </summary>
 /// <param name="email"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public UnityTask Update(string email, string password)
 {
     var task = new UnityTask(TaskStrategy.Custom);
     Update(email, password, task.FromResponse());
     return task;
 }
        /// <summary>
        /// Requests a new guest account. Use for 'Skip Sign In' option.
        /// </summary>
        /// <returns></returns>
        public UnityTask Guest()
        {

            var task = new UnityTask(TaskStrategy.Custom);
            Guest(task.FromResponse());
            return task;
        }
 /// <summary>
 /// New account created in memory
 /// </summary>
 /// <returns>Realtime Authentication Token to use</returns>
 public UnityTask<RealtimeToken> SignIn(Dictionary<string, string[]> channels = null)
 {
     var task = new UnityTask<RealtimeToken>(TaskStrategy.Custom);
     SignIn(channels, task.FromResponse());
     return task;
 }