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
"""OperatorLink not registered via Plugins nor a built-in OperatorLink"""
            name = "My Link"
            def get_link(self, operator, *, ti_key):
                return "https://www.google.com"
        class MyOperator(BaseOperator):
            """Just a EmptyOperator using above defined Extra Operator Link"""
            operator_extra_links = [TaskStateLink()]
            def execute(self, context: Context):
                pass
        with DAG(dag_id="simple_dag", start_date=datetime(2019, 8, 1)) as dag:
            MyOperator(task_id="blah")
        serialized_dag = SerializedDAG.to_dict(dag)
        with caplog.at_level("ERROR", logger="airflow.serialization.serialized_objects"):
            SerializedDAG.from_dict(serialized_dag)
        expected_err_msg = (
            "Operator Link class 'tests.serialization.test_dag_serialization.TaskStateLink' not registered"
        )
        assert expected_err_msg in caplog.text
    class ClassWithCustomAttributes:
        """
        Class for testing purpose: allows to create objects with custom attributes in one single statement.
        """
        def __init__(self, **kwargs):
            for key, value in kwargs.items():
                setattr(self, key, value)
        def __str__(self):
            return f"{self.__class__.__name__}({str(self.__dict__)})"
        def __repr__(self):
            return self.__str__()
        def __eq__(self, other):