Ascendant for all types of nodes used by
Every node can contain child nodes or can be a child of other node. Node can collapse itself (
Expanded property) and hide its children on a user click.
A node can also display its value in a unique way. Descendants of this class usually override painting methods and represent the value in different manner.