Can't wait till this async issue get solved in CoffeeScript. To me it's currently the biggest weakness in the JS family, especially given how much we all rely on the event-based style of programming in this language.
Exceptions are interesting. The calls are asynchronous so you can't wrap the whole macro in a single try/catch. See node's wiki for an explanation on why this is a problem: