JavaScript Frameworks without the framework: why didn't we think of this sooner?