save() should not be defined above ```__init__```.  Move save and _clear_dirty_fields further down the class.