Wzór MVC z wieloma ActionListener

Piszę program z GUI używając wzorca projektowego MVC. Mam pytanie dotyczące korzystania z ActionListeners.

Zgodnie ze wzorem MVC, wszystkie ActionListeners powinny zostać włączone do kontrolera. Normalnie, jak sądzę, zostaną one zaimplementowane w klasach wewnętrznych, takich jak.

Jednak w przypadku wielu przycisków itp. Czy dobrym pomysłem jest przeniesienie tych klas wewnętrznych do oddzielnych plików w tym samym pakiecie? Wiem, że już nie będą klasami wewnętrznymi, więc czy to dobry projekt? A ponieważ musiałbym użyć zmiennej lokalnej z klasy Controller, czy mogę ustawić im domyślny dostęp?

Klasa kontrolera:

public class Controller{ 

    GoogleMaps gMaps = null; // model
    GUI gui = null;          // view 

    public Controller(GoogleMaps gMaps, GUI gui) {
        super();
        this.gMaps = gMaps;
        this.gui = gui; 

        this.gui.addButtonDownListener(new ButtonDownListener(this));
    }
}

Klasa ButtonDownLister:

class ButtonDownListener implements ActionListener{

    private BudgetController buttonDownListener;

    public ButtonDownListener(BudgetController buttonDownListener) {
        super();
        this.buttonDownListener = buttonDownListener;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // some ActionEvent handler
    }
}

questionAnswers(1)

yourAnswerToTheQuestion