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

Done.