I'd like to customize the implementation of IPyRefactoring (or IPyRefactoring2) that is used. My current wish is to create a decorator of the existing Refactorer so that I can add behavior based on the results of findDefinition() ; for example, lazily loading file resources.
Currently, AbstractPyRefactoring.getPyRefactoring will throw an exception if more than one participant is registered to the PYDEV_REFACTORING extension point. Would you be open to accepting a change such that the last participant added is the one used? A function could be added to the IPyRefactoring interface for notification of the original participant (to support the decorator scenario).
I would be happy to make this change.