My grievances with custom payload handling is there is no clean method of saying 'what i just dropped onto is what mt target'
instead need to for each exact element do some chunk of code that does the isHovered test, not mouse.isDown() (released mouse over imgui element) and then setting that payload is now nil and no longer trigger any other tests (say elements beneath)
The other issue is using imgui to set what is the payloads visuals (say some Text, or image) - imgui.isItemHovered() on targets needs flags to ignore popups else the visual payload obstructs. its so gimicky and annoying. Also had to add some timeout to my payload test as testing the same frame or two of release seems to not work.