private async void OnRunOneSecondSetupButtonClickAsync(object obj)
        {
            Message = null;
            messenger.Send(
                this,
                new SwitchLoadingIndicatorMessage
            {
                Switcher = true
            });

            await Task.Run(() => KdfViewModel.RunOneSecondSetup()).ConfigureAwait(false);

            messenger.Send(
                this,
                new SwitchLoadingIndicatorMessage
            {
                Switcher = false
            });
        }
        private void OnConfirmButtonClick <T>(SetupSecurityRequestMessage <T> message)
        {
            storageProvider.KdfProvider = KdfViewModel.GetKdfProvider();

            messenger.Send(
                this,
                new SwitchViewMessage
            {
                NextView = message.ReturnToViewModel
            });

            messenger.Send(
                this,
                new SetupSecurityResponseMessage <T>
            {
                State           = message.State,
                StorageProvider = storageProvider
            });
        }
        private async void OnRunTestButtonClick(object obj)
        {
            Message = null;
            messenger.Send(
                this,
                new SwitchLoadingIndicatorMessage
            {
                Switcher = true
            });

            var elapsed = await Task.Run(() => KdfViewModel.RunTest()).ConfigureAwait(false);

            Message = string.Format(Templates.PasswordDerivedMessage, elapsed.TotalSeconds);

            messenger.Send(
                this,
                new SwitchLoadingIndicatorMessage
            {
                Switcher = false
            });
        }