What I like even better is a way to declare, that 2 initializers has explicit ordering that needs to be respected by reactor. It is sort-of tangential to the milestone approach we are currently using, but is more flexible in the long run (as we do not have to keep adding milestones or hope race condition not worth addressing will not bite us).
In such a scheme, some prominent initializers (job load, jcasc, etc.) would be exposed as quasi-milestones for other initlizers to declare ordering on. So we can expose job-loading with a name, declare that jcasc must complete before job-loading. Then I as a developer can declare my post-init initializer must not start before jcasc has completed (while being permitted to run in parallel with job loading), etc.