Why events only work with OnGUI?

I only need an explanation why can’t events work with, for example, function Update?

The events system is only initialized for OnGUI which is called multiple times for each of the different types of event. The Update function is only called once per frame and the preparatory work for events has not been created at that time. The inclusion of OnGUI code causes this to happen (with expected performance penalties).