Beyond executing asynchronous tasks, which opens up a lot of possibilities, sometimes it is useful and necessary to get the status of those tasks.
For example, you could use it as a check the time elapsed on each task stage. You should also think about logging and monitoring.
This recipe will show you an easy way to do this.