Small code style fix for #319; 'return undefined;' explicitly on a separate line.
(the function wrapper gives us `undefined` as an undefined variable at :10)
Keep track of changes to a model's attributes internally, so we do fire `change` on nested changes. Fixes #330