Why Doesn't Ccontroller Raise The Default Events?

I found an old post about the same topic, but it was never answered…

I still wonder why the default implementation of CController won’t raise all the defined events, i.e. beforeAction, beforeRender, afterRender, afterAction (i’ve read about a new event called authorize in a post from qiang).

For example, should the programmer override these methods like:




public function afterAction($action) {

    $this->onAfterAction(new CEvent($this));

}



and then declare the event like:




public function onAfterAction($event) {

    $this->raiseEvent('onAfterAction', $event);

}



?