I think the engines actually go through more or less the full list: Is the controller powered, is the controller switched on, is there helium pressure, is there a valid command path to the controller, is there fuel, is there oxidizer, is the engine itself okay, is the engine gimbaling okay, is there hydraulic pressure for gimbaling?
either by design or luck Thorsten has managed to keep it manageable
If you think about it, JSBSim forces you into a very reasonable design. Consider a typical channel - some input properties are mapped via intermediate chain links to output properties. You can't set either intermediate or output properties by hand or from Nasal because they're overwritten 120 times per frame - so you naturally get a compartmentalization where you only set the input from high-level routines and read out the rest.
The fact that we organize it in channels likewise encourages a natural separation, so we can distinguish software issues (what's the command issues to a thruster) from hardware issues (what's the response of the physical thruster when it gets the command) in a relatively clean way.
So I'd say it's largely to Jon's credit that it's manageable. The problem with my design is that I only know after the fact how I should have done it properly. I'm relatively happy with a few elements, the antenna manager or the CWS or limit check loops, but much else isn't quite as nice as I would have hoped.