Is the base interface of label components.
A label component contains a single object value, this value is rendered as markup using a special object, the renderer, and may be optionally edited "in place" using a user defined editor.
Any change to the internal value is notified with a "value" property change event and may be vetoed (see {@link #setValue(Object)}. The new value, if accepted, is rendered as markup.
This component family is the "componentized" version of {@link org.itsnat.core.domutil.ElementLabel} andfollows a similar philosophy.
@author Jose Maria Arranz Santamaria