Existe uma prática melhor para os ouvintes?

Digamos que eu tenha uma GUI swing, e eu quero ouvirMouseEvents. Quem você acha que deveria ser a classe dos Ouvintes, quem deveria ser responsável? Qual é a maneira melhor ou preferida de implementá-lo? Alguma opinião? Eu costumo ir assim:

public class MyPanel extends JPanel implements MouseListener{
    private JTable table;
    public void foo(){
         table.addMouseListener(this);
    }
    /* MouseListener */
    //Implement MouseListener here.
}

Existe uma maneira melhor?

EDITAR: Obrigado a todos pela sabedoria e ajuda. Eu agradeço.