public GeneratePasswordPageViewModel(
            IServicesManager servicesManager,
            ISessionStateService sessionStateService,
            INavigationService navigationService)
        {
            Contract.Assert(sessionStateService != null);

            _sessionStateService = sessionStateService;
            _service             = null;
            _servicePassword     = null;

            GenerateServicePassword = new LambdaCommand(
                parameter =>
            {
                var password = parameter as string;
                if (password?.Length > 0)
                {
                    ServicePassword = ServicePasswordGenerator.GeneratePassword(
                        Service,
                        password);
                }
            },
                _ => Service != null);

            CopyServicePassword = new LambdaCommand(
                _ =>
            {
                _dataPackage.SetText(ServicePassword);
                Clipboard.SetContent(_dataPackage);
            },
                _ => ServicePassword?.Length > 0);

            RemoveService = new LambdaCommand(
                _ =>
            {
                servicesManager.RemoveServiceAsync(Service.UniqueToken);
                navigationService.GoBack();
            });
        }
        public GeneratePasswordPageViewModel(
            IServicesManager servicesManager,
            ISessionStateService sessionStateService,
            INavigationService navigationService)
        {
            Contract.Assert(sessionStateService != null);

            _sessionStateService = sessionStateService;
            _service = null;
            _servicePassword = null;

            GenerateServicePassword = new LambdaCommand(
                parameter =>
                {
                    var password = parameter as string;
                    if (password?.Length > 0)
                    {
                        ServicePassword = ServicePasswordGenerator.GeneratePassword(
                            Service,
                            password);
                    }
                },
                _ => Service != null);

            CopyServicePassword = new LambdaCommand(
                _ =>
                {
                    _dataPackage.SetText(ServicePassword);
                    Clipboard.SetContent(_dataPackage);
                },
                _ => ServicePassword?.Length > 0);

            RemoveService = new LambdaCommand(
                _ =>
                {
                    servicesManager.RemoveServiceAsync(Service.UniqueToken);
                    navigationService.GoBack();
                });
        }