Classes to describe a component. This is normally based on it's properties.