Refactored into Backbone.JS MVC structure