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

ding "all of"