refactor

- separate out sync function
- add tests
- add Model class methods to load
- remove Collection