A specification language for direct-manipulation user interfaces | Synapse