docs: 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)