feat(engine): add task listener event `delete`

- add new task event `delete`
- encapsulate task deletion in Task.delete() method
- add tests

related to #CAM-1348