Why does CanyonCrosser use both Class and Struct for RealityKit Systems?

In the CanyonCrosser example project, some RealityKit systems are implemented as classes while others are structs. What’s the reason for using different types?

Why does CanyonCrosser use both Class and Struct for RealityKit Systems?
 
 
Q