Added Task class with support for sub-tasks