Watch for the completion of long running tasks

The watcher was attempting to renew the message lock even though the message handler had completed since the _completed flag was never set.