/// <summary>
        /// Configures credentials properties and auto persistence from the credential store.
        /// </summary>
        /// <param name="credentialStore">The <see cref="ICredentialStore">ICredentialStore</see> used to persist credentials.</param>
        private void ConfigureCredentialPersistence(ICredentialStore credentialStore)
        {
            var loadCredentialsTask = Task.Run<IEnumerable<CredentialModel>>(async () =>
            {
                return await credentialStore.GetCredentialsAsync().ConfigureAwait(false);
            });

            this.credentialList = new ReactiveList<CredentialModel>(loadCredentialsTask.Result);

            this.credentialList.AutoPersist((creds) =>
            {
                return Observable.FromAsync<Unit>(async () =>
                {
                    await credentialStore.SaveCredentialsAsync(creds.AsEnumerable());
                    return Unit.Default;
                });
            });
        }