Introducing asynchronous JavaScript