Alright, I think I've managed to whip something up to will do exactly what you mention. (At least I think so hehe)
I just committed a new IObjectPostProcessor called StageComponentInterceptionPostProcessor, this postprocessor can evaluate components and objects based on the approval of a separate IObjectSelector and when approved inject the specified component into another object.
I've also added a namespace handler for it so you can use some shorthand markup like this:
Code:
<si:stageinterceptor target-object="stageRegistry" target-method="register"
object-selector="registrySelector" id="stageInterceptor"/>
Source and documentation have been committed, if anyone would like to try it out, please feel free to do so and give some comments.