add support for UI events, including change