Components are blocks of code that implement functions that may be used by this core or others. Their variables are not readable from the external interface but are initialized by their calling core or component. Components can instantiate other components and tasks, but not cores.