Asynchronous programming with ongoing tasks: an alternative to futures, promises, deferreds and the like.