Add a util::Task class to manage async operations.

No need for explicit here.