Initial changes

Tasks left:

* [x] Finish models
* [x] Allow models to work in async and non-async mode
* [x] Create tasks
* [x] Wire up tasks to models on save
* [x] Wire up admin (@nosamanuel)
* [ ] Create initial migration for models (@nosamanuel)
* [x] Fix all the typos (Noah)
* [ ] Tests