Made Task an inteface to allow simpler subclassing.