[WIP] "abstract_ui" fixes and improvements

FWIW I noticed these things while prototyping a UI in python
:+1: