Components are put together inside a container. Many visual components have preferences that help define how they are laid out with others. For example, radio buttons are very basic components. In most cases, they exist in groups so you can select one option from several or many. With these layout functions, you can specify how groups of radio buttons are laid out on the screen.
All components handle events.
When you pass information to a component, an event is triggered. A radio button, when clicked, gets an event that says that it has been selected. The COM system dictates how components receive events and whether other components are to be triggered with events as well. Object persistence isn't absolutely necessary with every single component but is important in many cases. Quite often you may wish to store the current state of the component.