How to create a custom JSF Component.