Maybe split this in two, i.e. `def create(self)` and `def update(self)`.