Shifting states
The gear unit (gear_unit) has two attributes that indicate the number of available shifting states, as well as the currently selected gear:
number_of_gears (integer)
gear_shift_index (integer)
Additionally, each shiftable component may have the attribute:
is_engaged (boolean array)
This indicates whether or not the component is engaged for each shifting state. The length of the array must match the number_of_gears.