Application Architecture for Building User Interfaces