Change propagation library for JavaScript