I'm looking for this functionality to add to my GSoC project, and trying to figure out what the best way to approach this is. Overall I keep getting the feeling that the best approach for my module would be to require the ID or identifier of each item, to be a unique combination of the item's name and the module that defines it. This would allow module authors to define items in code, and not have to worry about namespace issues with the names of the items that their module defines.