Looks awesome, I've been using JS Promises recently and it's made control flow a lot easier to handle. I've been using Vow, because I like having an .always() that gets called after the promise was handled (rejected or fulfilled), but sadly that library eats tracebacks (at least, I can't figure out a way to do it). Bluebird looks promising, but IE<9 isn't supported at the moment (https://github.com/petkaantonov/bluebird/issues/3). Rules it out for most of my projects.