Awesome
Flat component system
Play with this demo
Now compare bubble.js which contains a bubble entity.
versus
Folder components/ which contains everything this bubble does.
If you wonder why there are 41 bubbles (I count them for you) - it is because they have been added to the
game
which is a state of app
and can be found here
Don't look at other files - they are blasphemy.