Stuff for various UI patterns (mostly prying apart editor's common UI module, but intended to incorporate a few more things too)