public ShellViewModel()
        {
            _username = new ObservableProperty <string>(this, () => Username);
            _password = new ObservableProperty <string>(this, () => Password);

            _logInCommand  = new ObservableCommand();
            _cancelCommand = new ObservableCommand();

            _username.CombineLatest(_password, (username, password) => !string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password)).Subscribe(_logInCommand);

            _logInCommand.Subscribe(ExecuteLogIn);
            _cancelCommand.Subscribe(ExecuteCancel);
        }