hold up. I think I am being really stupid.
the interface stuff all fires first because I am calling it first.
Dunno why this escaped me. So it makes sense that the clear stack happens after the interface stuff - nothing crazy going on at all.
I’ll award the solution to @pezzot1 since they’ve indicated it was probably a simple mistake and made me look closer into it.
