Is it a good thing for your entire app to be held up by any component that needs to load data? I'm sceptical.
As far as I'm concerned, an explicit call to `ModuleB.loadData()` is far better than having it happen as part of module loading, without me necessarily being aware of it. Right now, module loading is assured to be synchronous, and losing that certainty seems like a bad idea to me.
Doesn't the same risk apply if one of the modules in the graph declaratively imports a module hosted on a slow external CDN?