I've made some comments on commits (as you can see some of which are 'outdated'). Could you go through them all in case there's something of value that needs addressing.
Once you have I'll go through the overall diff.
Also: not entirely sure the diagram from 555eabac4938f8e366bc813fd0bbd75976b32c79 is clear, but I'll take a closer look at that at a later point.
I've made some comments on commits (as you can see some of which are 'outdated'). Could you go through them all in case there's something of value that needs addressing.
Once you have I'll go through the overall diff.
Also: not entirely sure the diagram from 555eabac4938f8e366bc813fd0bbd75976b32c79 is clear, but I'll take a closer look at that at a later point.