Framework for creating models.