I\'ve struggled for the last couple of months to come up with some clean code to report progress to a user. Everything always seems to boil down to:
ReportProgr
Assuming the pattern in what you're doing is:
you can have a "Task" class (parent for all your tasks), whose do() method is subclassed and automatically logs start and end of task.
Just an idea.