async.js
Higher-order functions and common patterns for asynchronous code