Ensure that this works:

```python
@setup
def mytask():
    print("I am a setup task")

with dag_maker() as dag:
    mytask.override(task_id='newtask')

assert len(dag.task_group.children) == 1
setup_task = dag.task_group.children["newtask"]
assert setup_task._is_setup
```
and teardown also works
"""Create a root TaskGroup with no group_id or parent."""
        return cls(group_id=None, dag=dag)
    @property
    def node_id(self):
        return self.group_id
    @property
    def is_root(self) -> bool:
        """Returns True if this TaskGroup is the root TaskGroup. Otherwise False"""
        return not self.group_id
    @property
    def parent_group(self) -> TaskGroup | None:
        return self.task_group
    def __iter__(self):