docs: def invoke(self, ctx):
          """Given a context, this invokes the attached callback (if it exists)
          in the right way.
          """
          if self.callback is not None:
              loop = asyncio.get_event_loop()
              return loop.run_until_complete(self.async_invoke(ctx))