The main trouble is that there are many states and it's currently inconceivable from the implementation what the allowed/correct/desired state transitions are and which are not. Even more confusing, prior to this patch, state wasn't anything that RQ was really depending on—it was just there for monitoring purposes / user convenience. Now, we're making decisions based on this value, which was never the intention. The property wasn't designed with a 100% correctness guarantee in mind and for a computer could trust this value.

Additionally, I think `register_dependencies()` should be considered a "private" API, and therefore named like one.