I think will be nice to have CContoller same as CActiveRecord rising events. Example beforeAction same like beforeSave, and others actions.
public function onBeforeAction($event)
{
$this->raiseEvent('onBeforeAction',$event);
}
publi function beforeAction() {
if($this->hasEventHandler('onBeforeAction')) {
$event=new CEvent($this);
$this->onBeforeAction($event);
return $event->isValid;
} else
return true;
}