What about all the potential fault scenarios? Any of them should also make this function return false. What I realised in working the encoders monitor is that there are actually two things to check:

- An "ok" method should return true while Stopped if the statemachine is clear to proceed to Moving.
- A "faulted" method should return true at any time that the estop should trigger and move the statemachine to the unrecoverable Faulted state.

It's possible that under some conditions these are the same function, but it seemed at least with the encoders like there were certain statuses which should prevent driving, but not trigger an estop (or worse, an unrecoverable fault, especially if the condition is a temporary side effect of the system as a whole initializing).