Now that I use PersistentStateComponent and the ServiceManager in my new not yet released plugin, there isn't much left for my ProjectComponent to do. It only registers a ToolWindow when a project is opened and deregisters it again when the project is closed. That's really a boring work to do. Couldn't we have some mechanism to do it in the plugin.xml. There's really nothing special in it aside from the ID of the window and the icon.