collection of possible types
Each type is a set of rendering helpers and templates Component can have multiple types, but only one can be active per component instance