There are two motivating factors behind why it was implemented this way.
The first is that we didn't want to couple the search index too closely with the Admin portion of the framework. Many clients that we have talked to already have a facility in place to insert data into their database so we needed a way to index that is independent of the Admin portion of the framework. In retrospect, Aspects would help with this issue.
The second motivating factor was to support clustering in the framework. We do support clustered environments. In our design each clustered server has it's own search index. To support what you suggest we would have to send a message to each server telling it to re-index. This could be implemented with the current framework, we simply haven't yet. It is definitely something we will look at.
We also welcome any contributions you may have in this matter.