2.1 The key pieces of the pie
"Eight core terms come into play when you're developing JSF applications...": (i) UI component (control or component); (ii) Renderer; (iii) Validator; (iv) Backing beans; (v) Converter; (vi) Events and listeners; (vii) Messages; (viii) Navigation.
JSF uses the JavaBeans event/listener model, the same used by Swing.
"Backing beans contain event listeners and action methods, which are event listeners that are specialized for navigation."
"You may have noticed that events, messages, and model objects are passive from the perspective of JSF... This is an important point for model objects, because it means that the model doesn't know about the user interface. This is part of how JSF enforces an MVC-style architecture."