let subclasses easily generate their own task_id

this way subclasses of BaseTask can better influence the task_id generation