text: Title: Graceful shutdown of signal handlers
  Body: When signals are added, we should run some sort of a cleanup like this on shutdown to make sure any custom signals are run. This also includes a suggestion that we identify them with a name: `signal-XXXXX`.
  
  ```python
  async def cleanup(app, _):
      for task in asyncio.all_tasks():
          if task.get_name().startswith("signal"):
            await task
  ```