Interactive Extensions for JavaScript