This one is an oldie, but a baddie.
WikiEditor may or may not load in the correct order, but we don't know. And we need it for setting up the interface, because we work with it if it's loaded.
So the task is this: Investigate how mw.loader.using and its ilk actually function, and either
- Continue using them, but maybe add in an extra check.
- Stop using them, or use them in a different way, but also add in a check based on DOM events or something.
- Stop using them, and add an event into the WikiEditor code, and make sure we use that to fire the relevant callbacks.
There's clearly a lot to do here. But do it.
Krinkle, I'm CCing you because you had some thoughts about it initially, and I know you don't know much about EE right now, but basically the above is an accurate description of what happens.