While you need basic functionalities, everything is fine. When you need to modify the component (which is configurable, right?) you are facing the problems
JSF is submitting a form on itself so it could call a backing bean method to handle an event. Of course, if you have a request, there is unnecessary repeated initialization, getter calls, postconstruct etc