- если хотите продолжать баловатся с Yii сделайте так, что бы логика предметной области ничегошеньки не знала о Yii, тогда вообще не нужно будет заниматься этими Base* классами. Почитайте про Row Data Gateway (это по сути предшевственник ActiveRecord) а именно как оно использовалось в контексте модели предметной области
// launching fill process with empty object record (first step only)
$newCategoryProc = CreateCategoryProcess::get($newCategory->id, CreateCategoryProcess::CREATE_NEW);
// always running process, all conditional code was above
$newCategoryProc->run();
$model = [
'process' => $newCategoryProc,
'processView' => $newCategoryProc->render()
];
return $this->controller->render($this->viewName, ['model' => $model]);
AndrewShmig, на заметку: только что отлип от хорошего курсача Яндекса "Как правильно поставить ТЗ на создание сайта" - А... (очень короткого) про ТЗ и проектирование в целом