Asynchronous utilities: promises, deferreds.