Semantic Interaction Framework for JavaScript