Each component and js is loaded synchronously.
It's because a component is instanciated only where all its dependencies are loaded.
It's possible to do it asynchronously but it's hard.
And the "uses" function will not block, so the implementations of the existing applications will need to be updated.