Please note that none of my suggestions require changing core code! Anyone can add a trigger, and they only have to write it for their client, not everyone.