I'm not completely sold on putting these attributes on the top level. This component adds 3 top level items:

 `attributes` - Current data for the model
`changed` - Which keys have changed
`default` - Default value for the model

We'd be moving `attributes` to the top level, meaning we couldn't give any data the same name as common methods or attributes like `default`, `changed`, `hit`, etc.

Because they aren't triggering a change on the attributes it makes sense the trigger name should also be different.

If these changes are required for this to be merged in I'll be happy to update the pr, but just throwing out my 2¢