Updates to model:
1. Adds tests for last checkin
2. Adds support for an update Callback when a property changes
3. Adds support for simple property definitions: {age:55, firstName: {type: "string"}}