Currently our code refers to interfaces from axoim databases in two places: powerups and shared items.
In both cases, if an interface is renamed in python, it will appear to continue to work, except:
- if the old code (even code not designed to interact with a database) is rolled back, items in the database which referred to those interfaces will be broken, because some will refer to the new name
- if the old name is ever deleted, it will break, because some will refer to the old name.
- databases created with newer versions of, e.g. Twisted with some interface names changed, will not work on older versions of Twisted.
This should be changed so that Axiom has some way of detecting the equivalence of two interfaces.