performAction is internal,
action is external.
computeValue is internal,
getValue is external.
Recursive calls should use the external variant.
AbstractNode must be called after updating the actual child model to allow the framework to react accordingly.
Many widgets are comprised of lower-level widgets, generally prefixed with
RichText is an exception.