Not sure where the best place to post about this is. Wanted to talk about your approach with LABjs.
Also, this link is busted: http://labjs.com/LABjs-0.3.js
I've written something similar based on Souder's work: http://github.com/duncanbeevers/transmi ... _loader.js
Usage is similar.
Additional invocations can be peppered throughout your markup, allowing you to mingle script-load-order-dependencies with markup-dependencies.
This additional functionality is intended to promote lighting up UIs as quickly as possible (as soon as all their dependencies are filled) rather than waiting for the document:ready hook.
I like the generic handling of multiple-parameter invocations, that makes the API nice and idiot-proof. In fact, I think the whole API can probably be condensed into a single loadOrObserve entry point, hopefully one with a better name.
Since I haven't been able to actually view the source for labjs yet, I'm curious to see how the .block is implemented.