as far as I can see, finishTerminate is called in terminate() and in:
handleChildTerminated (when status becomes ChildrenContainer.Termination)
handleInvokeFailure (as an emergency stop)

From this perspective we could include the unwatch in finishTerminate, too.