Thank you. I checked my code and found the issue. It is my mistake. In my "model.when" code for firstName and lastName, I was assigning to model.firstName and model.lastName again which I am not supposed to do. I guess this triggers an infinite loop. Thank you for pointing me out.
model.when(['firstName', 'lastName'], function (firstName, lastName) {
console.log(firstName);
model.firstName = firstName;
model.lastName = lastName;
model.fullName = firstName + ' ' + lastName;
fullNameText.attr("value", firstName + ' ' + lastName);
});