I really like to work with RL, but personally I'm using it to
build the main structure of the application. I.e. if I have 10+
buttons I prefer to put them in a view which has a mediator and
actually the view manages the events coming from the buttons. Then
when some of the buttons is clicked the view dispatches an event
which in most of the cases is redispatched by the mediator.
RL is a great tool when you have modular application and various
parts which have to communicate between each other, but I guess
using it for every little piece of functionality will make the
application too complex.
There are 3 approaches to 'lots of buttons on one component' other than mediating them individually (and we'd usually recommend a composite mediator approach like you want to use here).
1) You can send customised events from the view to the mediator, to be redispatched.
2) You can use getters on the view to expose the buttons and listen to these directly for their click events, via the eventMap in your mediator (addViewListener is just a helper method for this):
override public function onRegister():void
eventMap.mapListener(view.someButton, MouseEvent.CLICK, someClickHandler, MouseEvent);
eventMap.mapListener(view.someOtherButton, MouseEvent.CLICK, someClickHandler, MouseEvent);
3) You can use Signals between your view and your mediator to indicate which button was clicked, and the SignalMediator / SignalMap to handle these.
Personally my favourite is number 3, but if you're not familiar with Signals then go for 1 or 2. The 'right' selection probably depends on how reusable your view is.
However, if the 'many buttons' don't naturally belong in the same view, I don't consider a one line unique-mediator for each button to be making your app 'bloated'. Lots of small, focussed, well named, classes is a good way to work in my experience.