BaseComponent is mother of all components. Almost all of its properties and methods are present in its children (components). However every component is different and have different requirements. For example a line needs different variable than a rectangle, thus some of the properties of BaseComponent are not present in some of its children components. This is a chart of which property of BaseComponent is implemented in which component or not.