Just a detail, but I think the GUI would feel snappier and more modern if actions were applied on_click instead of on_release. I don’t see any new software using “the old scheme” nowadays (?). I think it makes quite a subtly big difference in user experience. Maybe dialogue buttons (ok, cancel, save) could still use on_release, just for comfort.
Looking around at various software, I only find that url:s often still use on_release, as if the user should have the chance of changing his mind when clicking something.
Actually, in some software it’s a mess without any logic. Maybe actions that “changes data” could be on_release…? But for things like different views, tabs, transport, on_click feels better imo.