Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseItemDialog.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/ChooseItemDialog.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseItemDialog.cs	(revision 2484)
@@ -89,11 +89,10 @@
       }
 
-      DiscoveryService discoveryService = new DiscoveryService();
-      foreach (PluginInfo plugin in discoveryService.Plugins) {
+
+      foreach (var plugin in ApplicationManager.Manager.Plugins) {
         TreeNode pluginNode = new TreeNode(plugin.Name);
         pluginNode.Tag = null;
 
-        Type[] types = discoveryService.GetTypes(itemType, plugin);
-        foreach (Type type in types) {
+        foreach (Type type in ApplicationManager.Manager.GetTypes(itemType, plugin)) {
           if (!type.IsAbstract) {
             TreeNode itemNode = new TreeNode();
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseOperatorDialog.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/ChooseOperatorDialog.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseOperatorDialog.cs	(revision 2484)
@@ -70,14 +70,11 @@
       builtinOperatorsTreeView.TreeViewNodeSorter = nodeSorter;
 
-      DiscoveryService discoveryService = new DiscoveryService();
-      PluginInfo[] plugins = discoveryService.Plugins;
-      foreach(PluginInfo plugin in plugins) {
+      foreach (var pluginDescription in ApplicationManager.Manager.Plugins) {
         TreeNode pluginItem = new TreeNode();
-        pluginItem.Text = plugin.Name;
-        pluginItem.Tag = plugin;
+        pluginItem.Text = pluginDescription.Name;
+        pluginItem.Tag = pluginDescription;
 
-        Type[] operators = discoveryService.GetTypes(typeof(IOperator), plugin);
-        foreach(Type type in operators) {
-          if(!type.IsAbstract) {
+        foreach (Type type in ApplicationManager.Manager.GetTypes(typeof(IOperator), pluginDescription)) {
+          if (!type.IsAbstract) {
             TreeNode operatorItem = new TreeNode();
             operatorItem.Text = type.Name;
@@ -87,5 +84,5 @@
         }
         // add plugin node only if it contains operators
-        if(pluginItem.Nodes.Count > 0) {
+        if (pluginItem.Nodes.Count > 0) {
           builtinOperatorsTreeView.Nodes.Add(pluginItem);
         }
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseTypeDialog.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/ChooseTypeDialog.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ChooseTypeDialog.cs	(revision 2484)
@@ -90,11 +90,9 @@
       }
 
-      DiscoveryService discoveryService = new DiscoveryService();
-      foreach (PluginInfo plugin in discoveryService.Plugins) {
+      foreach (var plugin in ApplicationManager.Manager.Plugins) {
         TreeNode pluginNode = new TreeNode(plugin.Name);
         pluginNode.Tag = null;
 
-        Type[] types = discoveryService.GetTypes(baseType, plugin);
-        foreach (Type type in types) {
+        foreach (Type type in ApplicationManager.Manager.GetTypes(baseType, plugin)) {
           TreeNode itemNode = new TreeNode();
           itemNode.Text = type.Name;
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/HeuristicLabCorePlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/HeuristicLabCorePlugin.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/HeuristicLabCorePlugin.cs	(revision 2484)
@@ -30,6 +30,6 @@
   /// Plugin class for HeuristicLab.Core plugin.
   /// </summary>
-  [ClassInfo(Name = "HeuristicLab.Core-3.2")]
-  [PluginFile(Filename = "HeuristicLab.Core-3.2.dll", Filetype = PluginFileType.Assembly)]
+  [Plugin("HeuristicLab.Core-3.2")]
+  [PluginFile("HeuristicLab.Core-3.2.dll", PluginFileType.Assembly)]
   public class HeuristicLabCorePlugin : PluginBase {
   }
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/OperatorGraphView.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/OperatorGraphView.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/OperatorGraphView.cs	(revision 2484)
@@ -183,5 +183,5 @@
         IView view = op.CreateView();
         if (view != null)
-          PluginManager.ControlManager.ShowControl(view);
+          ControlManager.Manager.ShowControl(view);
       }
     }
@@ -410,5 +410,5 @@
     private void viewToolStripMenuItem_Click(object sender, EventArgs e) {
       IView view = (IView)((ToolStripMenuItem)sender).Tag;
-      PluginManager.ControlManager.ShowControl(view);
+      ControlManager.Manager.ShowControl(view);
     }
     private void initialOperatorToolStripMenuItem_Click(object sender, EventArgs e) {
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/OperatorLibraryEditor.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/OperatorLibraryEditor.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/OperatorLibraryEditor.cs	(revision 2484)
@@ -148,15 +148,15 @@
 
     private void MergeOperatorLibrary(IOperatorGroup src, IOperatorGroup dest) {
-      foreach(IOperator op in src.Operators) {
-        if(!Contains(dest, op)) {
+      foreach (IOperator op in src.Operators) {
+        if (!Contains(dest, op)) {
           dest.AddOperator(op);
         }
       }
 
-      foreach(OperatorGroup group in src.SubGroups) {
+      foreach (OperatorGroup group in src.SubGroups) {
         bool mergedIntoExistingGroup = false;
         // try to find a group in dest with matching name
-        foreach(OperatorGroup destGroup in dest.SubGroups) {
-          if(group.Name == destGroup.Name) {
+        foreach (OperatorGroup destGroup in dest.SubGroups) {
+          if (group.Name == destGroup.Name) {
             MergeOperatorLibrary(group, destGroup);
             mergedIntoExistingGroup = true;
@@ -164,5 +164,5 @@
           }
         }
-        if(!mergedIntoExistingGroup) {
+        if (!mergedIntoExistingGroup) {
           OperatorGroup newGroup = new OperatorGroup();
           newGroup.Name = group.Name;
@@ -174,6 +174,6 @@
 
     private bool Contains(IOperatorGroup group, IOperator op) {
-      foreach(IOperator destOp in group.Operators) {
-        if(op.Name == destOp.Name) {
+      foreach (IOperator destOp in group.Operators) {
+        if (op.Name == destOp.Name) {
           return true;
         }
@@ -204,5 +204,5 @@
           IView view = op.CreateView();
           if (view != null)
-            PluginManager.ControlManager.ShowControl(view);
+            ControlManager.Manager.ShowControl(view);
         }
       }
@@ -236,7 +236,7 @@
     }
     private void importButton_Click(object sender, EventArgs e) {
-      if(openFileDialog.ShowDialog() == DialogResult.OK) {
+      if (openFileDialog.ShowDialog() == DialogResult.OK) {
         IOperatorLibrary loadedLibrary = (PersistenceManager.Load(openFileDialog.FileName) as IOperatorLibrary);
-        if(loadedLibrary == null) {
+        if (loadedLibrary == null) {
           Auxiliary.ShowErrorMessageBox("The selected file does not contain an operator library");
         } else {
@@ -287,5 +287,5 @@
     private void viewToolStripMenuItem_Click(object sender, EventArgs e) {
       IView view = (IView)viewToolStripMenuItem.Tag;
-      PluginManager.ControlManager.ShowControl(view);
+      ControlManager.Manager.ShowControl(view);
     }
     #endregion
Index: branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ScopeView.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.2/ScopeView.cs	(revision 2143)
+++ branches/PluginInfrastructure Refactoring/HeuristicLab.Core/3.2/ScopeView.cs	(revision 2484)
@@ -128,7 +128,7 @@
     private void scopesTreeView_DoubleClick(object sender, EventArgs e) {
       // make sure that we can't get NullPointerExceptions
-      if(scopesTreeView.SelectedNode != null && scopesTreeView.SelectedNode.Tag != null) {
+      if (scopesTreeView.SelectedNode != null && scopesTreeView.SelectedNode.Tag != null) {
         IScope scope = (IScope)scopesTreeView.SelectedNode.Tag;
-        PluginManager.ControlManager.ShowControl(new VariablesScopeView(scope));
+        ControlManager.Manager.ShowControl(new VariablesScopeView(scope));
       }
     }
@@ -198,9 +198,9 @@
     private void variablesToolStripMenuItem_Click(object sender, EventArgs e) {
       IScope scope = (IScope)scopesTreeView.SelectedNode.Tag;
-      PluginManager.ControlManager.ShowControl(new VariablesScopeView(scope));
+      ControlManager.Manager.ShowControl(new VariablesScopeView(scope));
     }
     private void showViewToolStripMenuItem_Click(object sender, EventArgs e) {
       IItem item = (IItem)((ToolStripMenuItem)sender).Tag;
-      PluginManager.ControlManager.ShowControl(item.CreateView());
+      ControlManager.Manager.ShowControl(item.CreateView());
     }
     #endregion
