halfway through refactoring JavaScript
to use:
 - backbone.js / underscore.js
 - require.js