Creating UI Elements With Low-Coupling And Conditional Event Handling