Public base class for markup element
instances that map to UIComponent instances in the view.

The implementation must guarantee that the apply()
method is overridden and takes the following actions, in this order.
These actions must only happen the first time this facelet is applied
for each user. Subsequent applications must take no action.

The UIComponent represented by this
element is created with the appropriate
Application.createComponent() method.

Each attribute specified in the markup is correctly
applied to the component instance, as specified in the VDLDocs
for this element.