Did you check the work of fred rivard because he was managing the dynamic change of class and managing slot reinitialization? As far as I can tell from his paper he's mostly interested in the "accept instance" to modify instances from one class to another. This forces you to write the full mapping yourself in each class (from old to new). The idea of my migration is rather that the slots themselves are responsible. So this migration behavior is generally shared on slot-level. Default behavior is to just copy all the related fields.
In his example it makes sense to script the whole class, since the whole class is only related semantically to what he wants to change; but I guess in most cases there are only small fragments of your class that need special care. Or the whole thing will require such elaborate care that you need waaaay bigger systems (like active context). Just my 2cents. I might have misunderstood it though :)