async def __aenter__(self):
    (await self._exit_stack.__aenter__())
    (await self._exit_stack.enter_async_context(self.data_store))
    self._task_group = create_task_group()
    (await self._exit_stack.enter_async_context(self._task_group))
    start_event = create_event()
    (await self._task_group.spawn(self.run, start_event))
    (await start_event.wait())
    return self
async def __aenter__(self):
    (await self._exit_stack.__aenter__())
    (await self._exit_stack.enter_async_context(self.data_store))
    self._task_group = create_task_group()
    (await self._exit_stack.enter_async_context(self._task_group))
    start_event = create_event()
    (await self._task_group.spawn(self.run, start_event))
    (await start_event.wait())
    return self