Port of BackboneJS to TypeScript