Promise pattern models.