This line seems to come up quite a bit. Might be worth creating a helper for it. E.g.
self.parsePluginXml(pluginId). You could then do caching on it as well.