An ancestor class for all form's visual and non-visual components. All the coordinates for visual components are always defined in points. All the components are placed in form columns. For columns its disposition is specified (left, right, top, bottom, center). Visual components are usually placed from top to bottom (or from left to right - for top / bottom aligned columns). Usually one component is occupying a row, but sometimes two components are placed together in a row (if the first is a label and the second does not require entire column width and the label size is suffitiently small to fit both components in a single row). Component events are handled in a parent form methods (like <b>click</b>, <b>change</b>, <b>mouse_move</b> etc.)

----------------------- 'control common state'
It is not necessary to use these low level methods directly, instead form events <b>hidden</b> / <b>disabled</b> should be used to define conditions at which certain components become invisible / grayed. Desired components also should be placed into correspondent form's arrays <b>grayable[ ]</b> / <b>can_hide[ ]</b>, otherwise these always will be visible / enabled.