Some more refactoring

- will use “initialize” methods now instead of clunky “class named”
initialize methods
- simplified events
- actually call appropriate events
- simplified persisting models