A two-view approach to constructing user interfaces | Synapse