Since pydantic now changed behaviour in v2 and now copies everything by default and hence we lose references, we should RM the context as a base attribute from BaseHook. This will then preven us from manipulating the context from within a hook but we can replace that with a function signiture inspect whereby if there is an argument that is of type 'Context', we automatically inject it as a kwarg which would supplant this behaviour while also giving us full access to the mutable context - not just a copy. Would fix some tests broken from the rewrite
Since pydantic now changed behaviour in v2 and now copies everything by default and hence we lose references, we should RM the context as a base attribute from BaseHook. This will then preven us from manipulating the context from within a hook but we can replace that with a function signiture inspect whereby if there is an argument that is of type 'Context', we automatically inject it as a kwarg which would supplant this behaviour while also giving us full access to the mutable context - not just a copy. Would fix some tests broken from the rewrite