Asynchronous programming framework for JavaScript