Refactored to use Backbone Models and Collection