Added task canceling, started OOP