Gustaf, I think the description of how xotcl would handle this is more in line with what I was thinking a callback was used for. OpenACS seems to use a named callback system which triggers inside of a procedure, and therefore requires source code modification. Obviously this changes the behavior, otherwise you wouldn't need to add the callback.
Since Don has reminded everyone that query-writer will never be used in OpenACS core (thank god, I'd hate to fight against changes to it), I'll just mention that query-writer is even closer to the CLOS system than xotcl in this respect. query-writer uses generic functions for new/set/del/rst operations. At the moment there are only a few callback points. One just after all the input attributes have been validated, but before the object operation. This is used to do cross attribute validation or to otherwise combine attribute parts into one. There is also an original block of code that can be run just before the object action. Another point is just after the object action.
It looks like xotcl could be used in a similar way around any proc. Both method lends themselves to reducing code complexity. I'm not sure that adding callbacks _into_ a proc body achieves the same goal, personally I can't tell the difference between that and just inserting a new function call inside the procedure. Regardless, neither could be called configuration. Calling two things (or behaviors) by the same name is usually the beginning of disaster. Probably worse than having to maintain 15 different versions of code is constantly having to having to adjust code which used to work perfectly well, but now doesn't.