Shutdown agent gently removing the descriptor and
        notifying partners.

def _terminate(self):
        '''Shutdown agent gently removing the descriptor and
        notifying partners.'''

        def generate_body():
            d = defer.succeed(None)
            d.addBoth(defer.drop_param, self.agent.shutdown_agent)
            # Delete the descriptor
            d.addBoth(lambda _: self.delete_document(self._descriptor))
            return d

        return self._terminate_procedure(generate_body)