I know this is a WIP 'thing'. 

But, probably it is a good idea to design JS using components/objects.

This code is not really testable, functions are not tied to any object, there is no state, so you can't really exercise its behavior with proper JS tests. 
I'm not saying this is wrong, in fact, most of the JS in companies is written this way, but if we are writing javascript from scratch, we should fight hard to make it testable and reusable.

It's probably worth thinking about how we are going to design the JS for the mid / long term.