I've found the solution (buried somewhere in the documentation making some connections between layout, region and view) !
In the context of communication ONLY between the the parent (layout) and the child (itemView):
1) the child triggers the custom event (opposed to vent extend Backbone.Events - it only speaks to those who have access to it = encapsulation)
triggers: {
'click button': 'custom_event:btn_clicked'
}
2) the parent listen to this event having access to the child with the on('show',....)
initialize: function() {
var that = this; // needed for the listenTo which overrides 'THIS'
this.header.on('show', function(view) {
this.listenTo(view, 'custom_event:btn_clicked', that.clicked);
});
},
Example:
layout = new Layout();
$('body').append(layout.render().el);
layout.header.show(new Header()); // Here we get access to child and its events
The (hidden) power of Marionette. (I mean when I say hidden, because being relatively new, the documentation is barebone and the complex examples are scarce).
With little perseverance anything can be accomplished.