Я думаю, вы должны использовать функцию:
def do_work_and_notify(on_done):
// do work
on_done()
def send_email_on_completion():
email_send('joe@example.com', 'you are done')
do_work_and_notify(send_email_on_completion)
Функции (и даже методы) в python являются первоклассными объектами, которые можно разбрасывать, как и все остальное в языке.