Experiment: building my own "angular"