Adding progress info for tasks.
Get progress messages every 1 sec, starting from the next second.
Flushing progress messages and showing task run status.

Progress messages are more reliable now.
Refactored to move aysnc classes to a different package.`
Adding new async classes.