Made some changes to Task... need to think about a possible rewrite