Angular Models as Property or Injectable? I have an application that looks like such:

var app = angular.module('app', []);

app.Person = function(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
}

app.controller = function('myController', function($scope) {

    $scope.pageData = [];
    $scope.pageData.firstName = ['John'];
    $scope.pageData.lastName = ['Smith'];

    $scope.pageData.people = [];

    // just a demo. The point of this is just to show the controller creating Person objects 
    // assume that first name and last name will always be the same length;
    for (var i = 0; i &lt; firstName.length; i++) {
        $scope.pageData.people.push(new Person($scope.pageData.firstName[i], $scope.pageData.lastName[i]);
    }
});


Is there a better way of structuring Person? Should it be in a factory or service?
Because Javascript allows you to easily create objects without an explicit class, I usually find it unnecessary to define a class that doesn't have any functions.  That is, there's no benefit to using new Person(x,y) over {firstName: x, lastName: y}.  In fact, I would back up a step and have that kind of data in my model instead of separate arrays of first and last names:

$scope.pageData = [{firstName: 'John', lastName: 'Smith'} /* etc */];