Index: trunk/sources/HeuristicLab.PluginInfrastructure/ApplicationInfo.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/ApplicationInfo.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/ApplicationInfo.cs	(revision 1189)
@@ -25,8 +25,14 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Class that provides information about an application.
+  /// </summary>
   [Serializable]
   public class ApplicationInfo {
     private string name;
 
+    /// <summary>
+    /// Gets or sets the name of the application.
+    /// </summary>
     public string Name {
       get { return name; }
@@ -35,4 +41,7 @@
     private Version version;
 
+    /// <summary>
+    /// Gets or sets the version of the application.
+    /// </summary>
     public Version Version {
       get { return version; }
@@ -41,4 +50,7 @@
     private string description;
 
+    /// <summary>
+    /// Gets or sets the description of the application.
+    /// </summary>
     public string Description {
       get { return description; }
@@ -47,4 +59,7 @@
 
     private bool autoRestart;
+    /// <summary>
+    /// Gets or sets the boolean flag if the application should be automatically restarted.
+    /// </summary>
     public bool AutoRestart {
       get { return autoRestart; }
@@ -54,5 +69,5 @@
     private string pluginAssembly;
     /// <summary>
-    /// Name of the assembly that contains the IApplication type.
+    /// Gets or sets the name of the assembly that contains the IApplication type.
     /// </summary>
     public string PluginAssembly {
@@ -63,5 +78,5 @@
     private string pluginType;
     /// <summary>
-    /// Name of the type that implements the interface IApplication.
+    /// Gets or sets the name of the type that implements the interface IApplication.
     /// </summary>
     public string PluginType {
Index: trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs	(revision 1189)
@@ -26,11 +26,23 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Attribute of an assembly when it was built.
+  /// </summary>
   [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
   public class AssemblyBuildDateAttribute : Attribute {
     private DateTime buildDate;
+    /// <summary>
+    /// Gets or sets the date when the assembly has been built.
+    /// </summary>
     public DateTime BuildDate {
       get { return buildDate; }
       set { buildDate = value; }
     }
+    /// <summary>
+    /// Initializes a new instance of <see cref="AssemblyBuildDateAttribute"/> with the given 
+    /// <paramref name="timeStamp"/> as build date.
+    /// </summary>
+    /// <exception cref="FormatException">Thrown when the time stamp could not be parsed as build date.</exception>
+    /// <param name="timeStamp">The build date of the assembly.</param>
     public AssemblyBuildDateAttribute(string timeStamp)
       : base() {
Index: trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/ApplicationBase.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/ApplicationBase.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/ApplicationBase.cs	(revision 1189)
@@ -26,4 +26,7 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Default implementation for the IApplication interface.
+  /// </summary>
   public abstract class ApplicationBase : IApplication {
     private string name;
@@ -32,4 +35,7 @@
     private bool autoRestart;
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="ApplicationBase"/>.
+    /// </summary>
     public ApplicationBase() {
       ReadAttributes();
@@ -75,20 +81,35 @@
     #region IApplication Members
 
+    /// <summary>
+    /// Gets the name of the application.
+    /// </summary>
     public string Name {
       get { return name; }
     }
 
+    /// <summary>
+    /// Gets the version of the application.
+    /// </summary>
     public Version Version {
       get { return version; }
     }
 
+    /// <summary>
+    /// Gets the description of the application.
+    /// </summary>
     public string Description {
       get { return description; }
     }
 
+    /// <summary>
+    /// Gets the boolean flag whether the application should automatically get restarted.
+    /// </summary>
     public bool AutoRestart {
       get { return autoRestart; }
     }
 
+    /// <summary>
+    /// Runs the application.
+    /// </summary>
     public abstract void Run();
 
Index: trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/PluginBase.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/PluginBase.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/BaseClasses/PluginBase.cs	(revision 1189)
@@ -36,4 +36,7 @@
     private string description;
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="PluginBase"/>.
+    /// </summary>
     public PluginBase() {
       ReadAttributes();
@@ -84,4 +87,7 @@
 
     #region IPlugin Members
+    /// <summary>
+    /// Gets the name of the plugin.
+    /// </summary>
     public string Name {
       get {
@@ -90,4 +96,7 @@
     }
 
+    /// <summary>
+    /// Gets the version of the plugin.
+    /// </summary>
     public Version Version {
       get {
@@ -96,4 +105,7 @@
     }
 
+    /// <summary>
+    /// Gets the description of the plugin.
+    /// </summary>
     public string Description {
       get {
@@ -102,4 +114,5 @@
     }
 
+    /// <inheritdoc/>
     public  string[] Files {
       get {
@@ -108,13 +121,17 @@
     }
 
+    /// <inheritdoc/>
     public virtual void OnInstall() {
     }
 
+    /// <inheritdoc/>
     public virtual void OnDelete() {
     }
 
+    /// <inheritdoc/>
     public virtual void OnPreUpdate() {
     }
 
+    /// <inheritdoc/>
     public virtual void OnPostUpdate() {
     }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs	(revision 1189)
@@ -33,5 +33,5 @@
     private string name;
     /// <summary>
-    /// Name of the plugin to which the assembly belongs to.
+    /// Gets or sets the name of the plugin to which the assembly belongs to.
     /// </summary>
     public string Name {
@@ -41,4 +41,7 @@
 
     private string version;
+    /// <summary>
+    /// Gets or sets the version of the plugin.
+    /// </summary>
     public string Version {
       get { return version; }
@@ -47,4 +50,7 @@
 
     private string description;
+    /// <summary>
+    /// Gets or sets the description of the plugin.
+    /// </summary>
     public string Description {
       get { return description; }
@@ -53,4 +59,7 @@
 
     private bool autoRestart;
+    /// <summary>
+    /// Gets or sets the boolean flag whether the plugin should be automatically restarted.
+    /// </summary>
     public bool AutoRestart {
       get { return autoRestart; }
@@ -58,4 +67,7 @@
     }
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="ClassInfoAttribute"/>.
+    /// </summary>
     public ClassInfoAttribute() {}
   }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/DependencyAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/DependencyAttribute.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/DependencyAttribute.cs	(revision 1189)
@@ -33,5 +33,5 @@
 
     /// <summary>
-    /// Name of the plugin that is needed to load the assembly.
+    /// Gets or sets the name of the plugin that is needed to load the assembly.
     /// </summary>
     public string Dependency {
@@ -40,4 +40,7 @@
     }
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="DependencyAttribute"/>.
+    /// </summary>
     public DependencyAttribute() {
     }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/DiscoveryService.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/DiscoveryService.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/DiscoveryService.cs	(revision 1189)
@@ -40,8 +40,8 @@
 
     /// <summary>
-    ///  Find all types that are subtypes or equal to the specified type.
+    /// Finds all types that are subtypes or equal to the specified type.
     /// </summary>
     /// <param name="type">Most general type for which to find matching types.</param>
-    /// <returns></returns>
+    /// <returns>The found types as array.</returns>
     public Type[] GetTypes(Type type) {
       Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
@@ -56,8 +56,8 @@
 
     /// <summary>
-    /// Create an instance of all types that are subtypes or the same type of the specified type
+    /// Creates an instance of all types that are subtypes or the same type of the specified type
     /// </summary>
     /// <typeparam name="T">Most general type.</typeparam>
-    /// <returns></returns>
+    /// <returns>The created instances as array.</returns>
     public T[] GetInstances<T>() where T : class {
       Type[] types = GetTypes(typeof(T));
@@ -71,4 +71,11 @@
     }
 
+    /// <summary>
+    /// Finds all types that are subtypes or equal to the specified type if they are part of the given
+    /// <paramref name="plugin"/>.
+    /// </summary>
+    /// <param name="type">Most general type for which to find matching types.</param>
+    /// <param name="plugin">The plugin the subtypes must be part of.</param>
+    /// <returns>The found types as array.</returns>
     public Type[] GetTypes(Type type, PluginInfo plugin) {
       Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
@@ -86,9 +93,9 @@
 
     /// <summary>
-    /// Get instances of all types that implement the specified interface only in the given assembly.
+    /// Gets instances of all types that implement the specified interface only in the given assembly.
     /// </summary>
     /// <typeparam name="T">Interface type.</typeparam>
     /// <param name="assembly">Assembly that should be searched for types.</param>
-    /// <returns></returns>
+    /// <returns>The found instances as array.</returns>
     internal T[] GetInstances<T>(Assembly assembly) {
       Type[] types = GetTypes(typeof(T), assembly);
@@ -103,9 +110,9 @@
 
     /// <summary>
-    /// Get types that are assignable (same of subtype) to the specified type only from the given assembly.
+    /// Gets types that are assignable (same of subtype) to the specified type only from the given assembly.
     /// </summary>
     /// <param name="type">Most general type we want to find.</param>
     /// <param name="assembly">Assembly that should be searched for types.</param>
-    /// <returns></returns>
+    /// <returns>The found types as array.</returns>
     internal Type[] GetTypes(Type type, Assembly assembly) {
       List<Type> types = new List<Type>();
@@ -118,4 +125,9 @@
     }
 
+    /// <summary>
+    /// Gets the plugin of the given <paramref name="type"/>.
+    /// </summary>
+    /// <param name="type"></param>
+    /// <returns>The found plugin or <c>null</c>.</returns>
     public PluginInfo GetDeclaringPlugin(Type type) {
       foreach(PluginInfo info in PluginManager.Manager.LoadedPlugins) {
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControl.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControl.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControl.cs	(revision 1189)
@@ -25,4 +25,7 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Interface for controls.
+  /// </summary>
   public interface IControl { }
 }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControlManager.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControlManager.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Interfaces/IControlManager.cs	(revision 1189)
@@ -26,5 +26,12 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Interface for control managers.
+  /// </summary>
   public interface IControlManager {
+    /// <summary>
+    /// Shows the given <paramref name="control"/>.
+    /// </summary>
+    /// <param name="control">The control to display.</param>
     void ShowControl(IControl control);
   }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/InvalidPluginException.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/InvalidPluginException.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/InvalidPluginException.cs	(revision 1189)
@@ -25,4 +25,7 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Exception class for invalid plugins.
+  /// </summary>
   class InvalidPluginException : Exception {
   }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs	(revision 1189)
@@ -30,5 +30,10 @@
 namespace HeuristicLab.PluginInfrastructure {
   internal class Loader : MarshalByRefObject {
+    /// <summary>
+    /// Event handler for loaded plugins.
+    /// </summary>
+    /// <param name="pluginName">The plugin that has been loaded.</param>
     public delegate void PluginLoadedEventHandler(string pluginName);
+    
     public delegate void PluginLoadFailedEventHandler(string pluginName, string args);
 
@@ -91,4 +96,5 @@
     /// list of assemblies of an plugin and the list of dependencies for each of those assemblies
     /// </summary>
+    /// <exception cref="FileLoadException">Thrown when the file could not be loaded.</exception>
     internal void Init() {
       AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += delegate(object sender, ResolveEventArgs args) {
@@ -386,5 +392,8 @@
     }
 
-    // infinite lease time
+    /// <summary>
+    /// Initializes the life time service with an infinte lease time.
+    /// </summary>
+    /// <returns><c>null</c>.</returns>
     public override object InitializeLifetimeService() {
       return null;
Index: trunk/sources/HeuristicLab.PluginInfrastructure/PluginFileAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/PluginFileAttribute.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/PluginFileAttribute.cs	(revision 1189)
@@ -25,4 +25,7 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Enumerator of available file types for a plugin.
+  /// </summary>
   public enum PluginFileType {
     Assembly,
@@ -32,8 +35,14 @@
   };
 
+  /// <summary>
+  /// Attribute for plugins providing information about their corresponding files.
+  /// </summary>
   [AttributeUsage(AttributeTargets.Class, AllowMultiple=true)]
   public class PluginFileAttribute : System.Attribute {
     private string filename;
 
+    /// <summary>
+    /// Gets or sets the filename of the plugin.
+    /// </summary>
     public string Filename {
       get { return filename; }
@@ -43,4 +52,7 @@
     private PluginFileType filetype = PluginFileType.Data;
 
+    /// <summary>
+    /// Gets or sets the filetype of the plugin file.
+    /// </summary>
     public PluginFileType Filetype {
       get { return filetype; }
@@ -48,4 +60,7 @@
     }
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="PluginFileAttribute"/>.
+    /// </summary>
     public PluginFileAttribute() { }
   }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs	(revision 1189)
@@ -32,4 +32,7 @@
   public class PluginInfo {
     private string name;
+    /// <summary>
+    /// Gets or sets the name of the plugin.
+    /// </summary>
     public string Name {
       get { return name; }
@@ -37,4 +40,7 @@
     }
     private Version version;
+    /// <summary>
+    /// Gets or sets the version of the plugin.
+    /// </summary>
     public Version Version {
       get { return version; }
@@ -42,4 +48,7 @@
     }
     private DateTime buildDate;
+    /// <summary>
+    /// Gets or sets the build date of the plugin.
+    /// </summary>
     public DateTime BuildDate {
       get { return buildDate; }
@@ -48,5 +57,5 @@
     private List<string> files = new List<string>();
     /// <summary>
-    /// Names of all files that belong to this plugin.
+    /// Gets the names of all files that belong to this plugin.
     /// These files are deleted when the plugin is removed or updated.
     /// </summary>
@@ -56,4 +65,7 @@
 
     private List<PluginInfo> dependencies = new List<PluginInfo>();
+    /// <summary>
+    /// Gets all dependencies of the plugin.
+    /// </summary>
     public List<PluginInfo> Dependencies {
       get { return dependencies; }
@@ -61,5 +73,5 @@
     private List<string> assemblies = new List<string>();
     /// <summary>
-    /// Names of the assemblies that belong to this plugin.
+    /// Gets the names of the assemblies that belong to this plugin.
     /// </summary>
     public List<string> Assemblies {
@@ -68,13 +80,26 @@
     }
     private string message;
+    /// <summary>
+    /// Gets or sets the message.
+    /// </summary>
     public string Message {
       get { return message; }
       set { message = value; }
     }
+    /// <summary>
+    /// Gets the string representation of the plugin.
+    /// </summary>
+    /// <returns>The name of the plugin.</returns>
     public override string ToString() {
       return Name;
     }
+    
     // equals and hashcode have to be implemented because we want to compare PluginDescriptions from 
     // different AppDomains and serialization destroys reference equality
+    /// <summary>
+    /// Checks whether the given object is equal to the current plugin.
+    /// </summary>
+    /// <param name="obj">The object to compare.</param>
+    /// <returns><c>true</c> if it is equal, <c>false</c> otherwise.</returns>
     public override bool Equals(object obj) {
       if(!(obj is PluginInfo))
@@ -84,4 +109,8 @@
       return other.Name == this.Name && other.Version == this.Version;
     }
+    /// <summary>
+    /// Gets the hash code of the current plugin.
+    /// </summary>
+    /// <returns>The hash code of the plugin.</returns>
     public override int GetHashCode() {
       if(version != null) {
Index: trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1189)
@@ -31,8 +31,14 @@
 
   // must extend MarshalByRefObject because of event passing between Loader and PluginManager (each in it's own AppDomain)
+  /// <summary>
+  /// Class to manage different plugins.
+  /// </summary>
   public class PluginManager : MarshalByRefObject {
 
     // singleton: only one manager allowed in each AppDomain
     private static PluginManager manager = new PluginManager();
+    /// <summary>
+    /// Gets the plugin manager (is a singleton).
+    /// </summary>
     public static PluginManager Manager {
       get { return manager; }
@@ -41,4 +47,7 @@
     // singleton: only one control manager allowed in each applicatoin (i.e. AppDomain)
     private static IControlManager controlManager;
+    /// <summary>
+    /// Gets or sets the control manager (is a singleton).
+    /// </summary>
     public static IControlManager ControlManager {
       get { return controlManager; }
@@ -46,4 +55,7 @@
     }
 
+    /// <summary>
+    /// Event handler for actions in the plugin manager.
+    /// </summary>
     public event PluginManagerActionEventHandler Action;
 
@@ -58,16 +70,32 @@
     }
 
+    /// <summary>
+    /// Gets all installed plugins.
+    /// </summary>
+    /// <remarks>This information is provided by a <see cref="Loader"/>.</remarks>
     public ICollection<PluginInfo> InstalledPlugins {
       get { return remoteLoader.InstalledPlugins; }
     }
 
+    /// <summary>
+    /// Gets all disabled plugins.
+    /// </summary>
+    /// <remarks>This information is provided by a <see cref="Loader"/>.</remarks>
     public ICollection<PluginInfo> DisabledPlugins {
       get { return remoteLoader.DisabledPlugins; }
     }
 
+    /// <summary>
+    /// Gets all active plugins.
+    /// </summary>
+    /// <remarks>This information is provided by a <see cref="Loader"/>.</remarks>
     public ICollection<PluginInfo> ActivePlugins {
       get { return remoteLoader.ActivePlugins; }
     }
 
+    /// <summary>
+    /// Gets all installed applications.
+    /// </summary>
+    /// <remarks>This information is provided by a <see cref="Loader"/>.</remarks>
     public ICollection<ApplicationInfo> InstalledApplications {
       get { return remoteLoader.InstalledApplications; }
@@ -75,4 +103,7 @@
 
     private ICollection<PluginInfo> loadedPlugins;
+    /// <summary>
+    /// Gets or (internally) sets the loaded plugins.
+    /// </summary>
     public ICollection<PluginInfo> LoadedPlugins {
       get { return loadedPlugins; }
@@ -138,5 +169,5 @@
 
     /// <summary>
-    /// Creates a new AppDomain with all plugins preloaded and Sandboxing capability
+    /// Creates a new AppDomain with all plugins preloaded and Sandboxing capability.
     /// </summary>
     /// <param name="assembly">Assembly reference</param>
@@ -202,5 +233,5 @@
     /// Calculates a set of plugins that directly or transitively depend on the plugin given in the argument.
     /// </summary>
-    /// <param name="pluginInfo"></param>
+    /// <param name="pluginInfo">The plugin the other depend on.</param>
     /// <returns>a list of plugins that are directly of transitively dependent.</returns>
     public List<PluginInfo> GetDependentPlugins(PluginInfo pluginInfo) {
@@ -223,24 +254,34 @@
     }
 
+    /// <summary>
+    /// Unloads all plugins.
+    /// </summary>
     public void UnloadAllPlugins() {
       AppDomain.Unload(pluginDomain);
     }
 
+    /// <summary>
+    /// Loads all plugins.
+    /// </summary>
     public void LoadAllPlugins() {
       Initialize();
     }
 
+    /// <inheritdoc cref="Loader.OnDelete"/>
     public void OnDelete(PluginInfo pluginInfo) {
       remoteLoader.OnDelete(pluginInfo);
     }
 
+    /// <inheritdoc cref="Loader.OnInstall"/>
     public void OnInstall(PluginInfo pluginInfo) {
       remoteLoader.OnInstall(pluginInfo);
     }
 
+    /// <inheritdoc cref="Loader.OnPreUpdate"/>
     public void OnPreUpdate(PluginInfo pluginInfo) {
       remoteLoader.OnPreUpdate(pluginInfo);
     }
 
+    /// <inheritdoc cref="Loader.OnPostUpdate"/>
     public void OnPostUpdate(PluginInfo pluginInfo) {
       remoteLoader.OnPostUpdate(pluginInfo);
Index: trunk/sources/HeuristicLab.PluginInfrastructure/PluginManagerActionEventArgs.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/PluginManagerActionEventArgs.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/PluginManagerActionEventArgs.cs	(revision 1189)
@@ -25,11 +25,25 @@
 
 namespace HeuristicLab.PluginInfrastructure {
+  /// <summary>
+  /// Enum for all possible actions the plugin manager can execute.
+  /// </summary>
   public enum PluginManagerAction { Initializing, InitializingPlugin, InitializedPlugin, Initialized, Starting }
+  /// <summary>
+  /// Event handler for all action events of the plugin manager.
+  /// </summary>
+  /// <param name="sender">The sender of the action event.</param>
+  /// <param name="e">The event arguments.</param>
   public delegate void PluginManagerActionEventHandler(object sender, PluginManagerActionEventArgs e);
 
   // this class must be serializable because EventArgs are transmitted over AppDomain boundaries
+  /// <summary>
+  /// Class for the event arguments of plugin manager action events.
+  /// </summary>
   [Serializable]
   public class PluginManagerActionEventArgs {
     private PluginManagerAction action;
+    /// <summary>
+    /// Gets or sets the action that has been performed.
+    /// </summary>
     public PluginManagerAction Action {
       get { return action; }
@@ -37,4 +51,7 @@
     }
     private string id;
+    /// <summary>
+    /// Gets or sets the id of the action event arguments.
+    /// </summary>
     public string Id {
       get { return id; }
@@ -42,4 +59,10 @@
     }
 
+    /// <summary>
+    /// Initializes a new instance of <see cref="PluginManagerActionEventArgs"/> with the given 
+    /// <paramref name="id"/> and <paramref name="action"/>.
+    /// </summary>
+    /// <param name="id">The id of the action event arguments.</param>
+    /// <param name="action">The action of the plugin manager.</param>
     public PluginManagerActionEventArgs(string id, PluginManagerAction action) {
       this.Id = id;
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs	(revision 1188)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs	(revision 1189)
@@ -48,4 +48,8 @@
 
     // infinite lease time
+    /// <summary>
+    /// Initializes the life time service with infinite lease time.
+    /// </summary>
+    /// <returns><c>null</c>.</returns>
     public override object InitializeLifetimeService() {
       return null;
