Including a context manager to ensure messages get finished or requeued