Techniques for UI programming