I made a plugin where I found that I had to override classes like FileDocumentManager and EditorSettingsExternalizable to add extra events to subscribe to within my plugin (I posted another topic about the additional events I needed). Currently, I am subclassing FileDocumentManagerImpl and EditorSettingsExternalizable, overriding a couple methods in each, and then registering my alternative implementations with the component manager. However, I suppose this could cause me to stomp on other plugins doing the same thing. Would it be better to use getInstance to get the current instance of each of those components, then wrap/decorate it in my class, and then register that instance with the component manager/picocontainer? The picocontainer docs discourage using the "registerInstance" methods, but is this a case where it is good to do so?