I built something like that for a custom Invoice emailer process. It basically acts as a queue for the emailer, plus allows me to log any errors (in case they gave us a malformed email address) right on the record. And a Suitelet that shows the progress of the invoices being emailed in a pie chart.