The Chain of Command

setActionHandler() sets the "gopher", who gets the Action first...

+ MainScreen()
+ handleTabChange(int)
+ performAction(BaseAction, ActionEvent)
the supervisor's supervisor
+ LookupManager(MainScreen)
+ handleTabChange(int)
+ performAction(BaseAction, ActionEvent)
the gopher's supervisor
+ PartsLookupManager(LookupManager)
+ performAction(BaseAction, ActionEvent)
the gopher
public class PartsLookupManager implements ActionHandler {

    public void performAction(BaseAction action, ActionEvent event) {

        switch (action.getID()) {

        case TOOLBAR_SUPPLIER_CHANGE: supplierChange(); break;
        case SUPPLIER_PRIMARY:        setPrimary(true); break;
        case TOOLBAR_VEHICLE_CHANGE:  vehicleChange();  break;
        case TOOLBAR_GROUP_CHANGE:    groupChange();    break;
        case TOOLBAR_DESC_CHANGE:     descChange();     break;
            lookupManager.performAction(action, event); 

...the gopher either handles it, or passes it to its supervisor,
who either handles it, or passes it to its supervisor,
and so on, and on, up the Chain of Command.