A model-based approach for distributed user interfaces | Synapse