TaskListener Overdue Tasks Aggregation

Hi,

I have a task to generate a report for overdue tasks.
As tasks are completed I want to save which ones were overdue and generate a report at the end
of users who completed tasks late.
Implementation wise what is the best way to accomplish this?

I have a TaskListener to listen that the task is late. This works properly and returns that the task is late.
However I essentially want to aggregate the results of all these late tasks within the same workflow.

Thanks for your time,
LK