Encapsulamento vantajoso ou porco?

Ok, o exemplo não ficou bom… mas gostei bastante das respostas… o post o Mask ajudou bastante!
No meu sistema o caso é mais ou menos o seguinte, vejam se está compreensível o resumo do código a seguir…

OBS. Um Projeto(JFrame) contém várias Rotina(JScrollPane) que contém várias Lógica(JPanel) que contém vários Componente.


class Componente {

  private Logica logicaHandler;

  /**
   * constructor
   * @param logicaHandler Lógica que manipula este componente.
   */
  public Componente(Logica logicaHandler) {
    this.logicaHandler = logicaHandler;
  }

  public getDados() {
    /*antes aqui estava getRotinaHandler().getProjetoHandler().get...*/
    Rotina rotina = logicaHandler.getRotinaHandler();
    Projeto projeto = rotina.getProjetoHandler();
    TabelaDadosComponentes tab = projeto.getTab();
    return tab.getDados(this);
  }

}

Agora acho q está OK, mas se tiverem dicas pra melhorar isso sou todo ouvidos (ou olhos).