Tools for model-driven javascript applications