Add save function to Model and SetModel

- save() triggers a 'save' event
- Storage now listens to 'save' instead of 'change'