Make termination through end-user abort or timeouts work. Could use some feedback on approach.