Integrating constraints and direct manipulation | Synapse