What I do for per-user spam config is to record the result of the various tests, then have one plugin make the decision at the end of the rcpt-to stage (and also set flags for the data stage plugins). This requires a change to each plugin that you want to have operate this way, but it doesn't require a change to the core. Most importantly, perhaps, it's backwards compatible with existing plugins.
Brian
