empty parameter list constructor - for usage by factory
create with ID parameter
Set widget rectangle to specified value and layout widget contents. (Step 2 of two phase layout).
Measure widget according to desired width and height constraints. (Step 1 of two phase layout).
make one of children (with specified ID) visible, for the rest, set visibility to otherChildrenVisibility
Draw widget at its position to buffer
place all children into same place (usually, only one child should be visible at a time)