A model layer for AngularJS inspired by Backbone.Model