Great progression in the last couple of days:
I had this annoying thing that sometime widget updates for a widget were sent in separate messages. That made it hard to say when was all the data received, for example when dropping a stack item from hand to inventory - the quality data of the sub items in the stack would come a few milliseconds later.
The first fix I did for that was to wait some time after receiving widget updates before I can use the widgets - that made actions like sorting the inventory really slow.
but now I found a dumber way which works better

(how didn't I think about that).
Also added some thread management that should reduce cpu time and improve bug reproducibility, also its cleaner that way.