some upgrade interfaces.  just have anything implement any one of them
and then you can upgrade things.