Made changes to support base classes and asynchronous tasks.