The borrowing rules for components are the standard rust rules: mutable references are
exclusive references. But they apply to individual objects within a component so it’s
possible to simultaneously get two mutable references to two different objects within
a component but not two mutable references to the same object (this is checked at
runtime).
The unit of composition for the gear object model.
A component consists of one or more objects. Each object implements one or more
traits. Component clients are only allowed to interact with objects via their traits.
Note that publicly released traits should be treated as immutable to foster backward
compatibility.