Como Controlar Componentes JSF Programaticamente

Bom dia pessoal

Sou iniciante em Jsf e tenho uma dúvida que está me perturbando. Criei uma tela simples de login com 2 InputTexts e um CommandButton, da seguinte maneira

<h:form>
   <h:outputLabel for="nome" value="Nome:"/>
  <h:inputText id="nome" value="#{usuario.nome}" binding="#{usuario.uiNome}" valueChangedListener="#{usuario.updateNome}"/>
 <h:outputLabel for="senha" value="Senha:"/>
 <h:inputText id="senha" value="#{usuario.senha}" binding="#{usuario.uiSenha}" valueChangedListener="#{usuario.updateSenha}"/>
<h:commandButton value="entrar" binding="#{usuario.uiBtnEntrar}">
</h:form>

o meu managerBean foi escrito assim

public class Usuario{
  private HtmlInputText uiNome;
  private HtmlInputText uiSenha;
  private HtmlCommandButton uiBtnEntrar;
  private String nome;
  private String senha; 
  
  public void setUiNome(HtmlInputText nUINome){
       this.uiNome = nUINome;
  }
  
 public void setUiSenha(HtmlInputText nUISenha){
       this.uiSenha = nUISenha;
     if( this.uiSenha != null){
        this.uiSenha.setDisabled(true);
     }
  }
  
  public void setUiBtnEntrar(HtmlCommandButton nUIBtnEntrar){
       this.uiBtnEntrar = nUIBtnEntrar;
       if( this.uiBtnEntrar != null){
        this.uiBtnEnrar.setDisabled(true);
     }
  }
  
  public void updateNome(ValueChangedEvent ev){
     this.uiSenha.setDisabled(false);
  }

   public void updateSenha(ValueChangedEvent ev){
     this.uiBtnEntrar.setDisabled(false);
  }

  // outros metodos get e set omitidos

}

só que ao executar o programa apenas o valueChangedListener do nome executa os outros não executam, ou seja
ao digitar o nome o campo senha fica habilitado, mas ao digitar a senha o campo senha volta a ficar desabilitado e o
btnEntrar não é habilitado, voltando ao estado de quando a aplicação foi iniciada pela primeira vez. o escopo do meu manager bean
é session. O que devo fazer para que a aplicação funcione adequadamente?

vc está querendo dizer q os compentes são rederizados porem não fazem nenhuma ação com o managed bean ???

Os componentes são renderizados mas apenas o método updateNome é execudado no managerBean, o updateSenha não.

vc ja tentou por um breakpoint no método da senha pra ver se ta entrando nele?