[REFACTOR] BaseModel#update() works with promises