Commit ddbf412

mokhan <mokhan@ce5e1baf-6525-42e4-a1b2-857ea38da20a>
2009-02-27 22:46:16
-F
git-svn-id: https://svn.xp-dev.com/svn/mokhan-mo.money@27 ce5e1baf-6525-42e4-a1b2-857ea38da20a
1 parent e180343
Changed files (72)
trunk
build
src
MyMoney
Domain
Infrastructure
Presentation
windows.ui
trunk/build/lib/app/castle/Castle.Core.dll
Binary file
trunk/build/lib/app/castle/Castle.Core.xml
@@ -1926,9 +1926,6 @@
             </remarks>
         </member>
         <member name="T:Castle.Core.Configuration.IConfiguration">
-            <summary>
-            Summary description for IConfiguration.
-            </summary>
             <summary>
             <see cref="T:Castle.Core.Configuration.IConfiguration"/> is a interface encapsulating a configuration node
             used to retrieve configuration values.
@@ -2024,17 +2021,11 @@
             Creates a new instance of <c>ConfigurationCollection</c>.
             </summary>
         </member>
-        <member name="M:Castle.Core.Configuration.ConfigurationCollection.#ctor(System.Collections.Generic.IList{Castle.Core.Configuration.IConfiguration})">
+        <member name="M:Castle.Core.Configuration.ConfigurationCollection.#ctor(System.Collections.Generic.IEnumerable{Castle.Core.Configuration.IConfiguration})">
             <summary>
             Creates a new instance of <c>ConfigurationCollection</c>.
             </summary>
         </member>
-        <member name="M:Castle.Core.Configuration.ConfigurationCollection.AddRange(System.Collections.Generic.IList{Castle.Core.Configuration.IConfiguration})">
-            <summary>
-            Adds an array of <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
-            </summary>
-            <param name="value">The Array of <see cref="T:Castle.Core.Configuration.IConfiguration"/> to add.</param>
-        </member>
         <member name="T:Castle.Core.Configuration.MutableConfiguration">
             <summary>
             Summary description for MutableConfiguration.
@@ -2046,6 +2037,14 @@
             </summary>
             <param name="name">The name.</param>
         </member>
+        <member name="P:Castle.Core.Configuration.MutableConfiguration.Value">
+            <summary>
+            Gets the value of <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
+            </summary>
+            <value>
+            The Value of the <see cref="T:Castle.Core.Configuration.IConfiguration"/>.
+            </value>
+        </member>
         <member name="T:Castle.Core.LifestyleType">
             <summary>
             Enumeration used to mark the component's lifestyle.
@@ -2381,7 +2380,7 @@
             Initializes a new instance of the <see cref="T:Castle.Core.DependencyModelCollection"/> class.
             </summary>
         </member>
-        <member name="M:Castle.Core.DependencyModelCollection.#ctor(System.Collections.Generic.IList{Castle.Core.DependencyModel})">
+        <member name="M:Castle.Core.DependencyModelCollection.#ctor(System.Collections.Generic.IEnumerable{Castle.Core.DependencyModel})">
             <summary>
             Initializes a new instance of the <see cref="T:Castle.Core.DependencyModelCollection"/> class.
             </summary>
@@ -2450,28 +2449,28 @@
         </member>
         <member name="M:Castle.Core.InterceptorReferenceCollection.Add(Castle.Core.InterceptorReference)">
             <summary>
-            Adds the specified interceptor.
+            Adds the specified item.
             </summary>
-            <param name="interceptor">The interceptor.</param>
+            <param name="item">The interceptor.</param>
         </member>
         <member name="M:Castle.Core.InterceptorReferenceCollection.AddFirst(Castle.Core.InterceptorReference)">
             <summary>
-            Adds the the specified interceptor as the first.
+            Adds the specified interceptor as the first.
             </summary>
-            <param name="interceptor">The interceptor.</param>
+            <param name="item">The interceptor.</param>
         </member>
         <member name="M:Castle.Core.InterceptorReferenceCollection.AddLast(Castle.Core.InterceptorReference)">
             <summary>
-            Adds the the specified interceptor as the last.
+            Adds the specified interceptor as the last.
             </summary>
-            <param name="interceptor">The interceptor.</param>
+            <param name="item">The interceptor.</param>
         </member>
         <member name="M:Castle.Core.InterceptorReferenceCollection.Insert(System.Int32,Castle.Core.InterceptorReference)">
             <summary>
             Inserts the specified interceptor at the specified index.
             </summary>
             <param name="index">The index.</param>
-            <param name="interceptor">The interceptor.</param>
+            <param name="item">The interceptor.</param>
         </member>
         <member name="M:Castle.Core.InterceptorReferenceCollection.CopyTo(System.Array,System.Int32)">
             <summary>
@@ -2569,6 +2568,13 @@
             <param name="type"></param>
             <param name="stepImplementation"></param>
         </member>
+        <member name="M:Castle.Core.LifecycleStepCollection.AddFirst(Castle.Core.LifecycleStepType,System.Object)">
+            <summary>
+            Adds a step as the first step to execute for the commission or decomission phase.
+            </summary>
+            <param name="type"></param>
+            <param name="stepImplementation"></param>
+        </member>
         <member name="M:Castle.Core.LifecycleStepCollection.CopyTo(System.Array,System.Int32)">
             <summary>
             Copies the elements of
@@ -2928,7 +2934,7 @@
             
             </summary>
         </member>
-        <member name="F:Castle.Core.Resource.AbstractStreamResource.CreateStream">
+        <member name="F:Castle.Core.Resource.AbstractStreamResource.createStream">
             <summary>
             This returns a new stream instance each time it is called.
             It is the responsability of the caller to dispose of this stream
@@ -3039,6 +3045,21 @@
             <param name="first"></param>
             <param name="second"></param>
         </member>
+        <member name="T:Castle.Core.ProxyServices">
+            <summary>
+            List of utility methods related to dynamic proxy operations
+            </summary>
+        </member>
+        <member name="M:Castle.Core.ProxyServices.IsDynamicProxy(System.Type)">
+            <summary>
+            Determines whether the specified type is a proxy generated by
+            DynamicProxy (1 or 2).
+            </summary>
+            <param name="type">The type.</param>
+            <returns>
+            	<c>true</c> if it is a proxy; otherwise, <c>false</c>.
+            </returns>
+        </member>
         <member name="T:Castle.Core.ReflectionBasedDictionaryAdapter">
             <summary>
             Pendent
trunk/build/lib/app/castle/Castle.DynamicProxy2.dll
Binary file
trunk/build/lib/app/castle/Castle.DynamicProxy2.xml
@@ -43,7 +43,7 @@
             </summary>
         </member>
         <member name="T:Castle.DynamicProxy.Generators.Emitters.LdcOpCodesDictionary">
-            <summary>
+            <summary>s
             Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
             </summary>
         </member>
@@ -110,7 +110,6 @@
             </summary>
             <remarks>
             TODO: 
-            - Use the interceptor selector if provided
             - Add tests and fixes for 'leaking this' problem
             </remarks>
         </member>
@@ -246,6 +245,14 @@
             <param name="targetType"></param>
             <returns></returns>
         </member>
+        <member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.IsMethodEquivalent(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
+            <summary>
+            Checks whether the given methods are the same.
+            </summary>
+            <param name="methodInfo"></param>
+            <param name="methodOnInterface"></param>
+            <returns>True if the methods are the same.</returns>
+        </member>
         <member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
             <summary>
             This is used by the ProxyObjectReference class durin de-serialiation, to know
@@ -366,15 +373,16 @@
             <param name="options"></param>
             <returns></returns>
         </member>
-        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTargetInterface(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
+        <member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTargetInterface(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
             <summary>
             Implementors should return a proxy for the specified
-            interface that delegate all executions to the
+            interface(s) that delegate all executions to the
             specified interceptor(s) and uses an instance of the interface
             as their targets, rather than a class. All IInvocation's
             should then implement IChangeProxyTarget.
             </summary>
             <param name="theInterface"></param>
+            <param name="interfaces"></param>
             <param name="options"></param>
             <returns></returns>
         </member>
@@ -386,9 +394,9 @@
         </member>
         <member name="M:Castle.DynamicProxy.InternalsHelper.IsInternalToDynamicProxy(System.Reflection.Assembly)">
             <summary>
-            Determines whether this assembly has internals visisble to dynamic proxy.
+            Determines whether this assembly has internals visible to dynamic proxy.
             </summary>
-            <param name="asm">The asm.</param>
+            <param name="asm">The assembly to inspect.</param>
         </member>
         <member name="M:Castle.DynamicProxy.InternalsHelper.IsInternal(System.Reflection.MethodInfo)">
             <summary>
trunk/build/lib/app/castle/Castle.MicroKernel.dll
Binary file
trunk/build/lib/app/castle/Castle.MicroKernel.xml
@@ -126,6 +126,11 @@
             <param name="signature">The signature.</param>
             <returns></returns>
         </member>
+        <member name="T:Castle.MicroKernel.Burden">
+            <summary>
+            
+            </summary>
+        </member>
         <member name="T:Castle.MicroKernel.CreationContext">
             <summary>
             Used during a component request, passed along to the whole process.
@@ -150,7 +155,7 @@
             could not be resolved.
             </summary>
             <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
+            <param name="contextHandlerResolver">Parent resolver - normally the IHandler implementation</param>
             <param name="model">Model of the component that is requesting the dependency</param>
             <param name="dependency">The dependency model</param>
             <returns>The dependency resolved value or null</returns>
@@ -160,17 +165,18 @@
             Returns true if the resolver is able to satisfy this dependency.
             </summary>
             <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
+            <param name="contextHandlerResolver">Parent resolver - normally the IHandler implementation</param>
             <param name="model">Model of the component that is requesting the dependency</param>
             <param name="dependency">The dependency model</param>
             <returns><c>true</c> if the dependency can be satisfied</returns>
         </member>
-        <member name="F:Castle.MicroKernel.CreationContext.handler">
+        <member name="F:Castle.MicroKernel.CreationContext.dependencies">
             <summary>
-            
+            Holds the scoped dependencies being resolved. 
+            If a dependency appears twice on the same scope, we'd have a cycle.
             </summary>
         </member>
-        <member name="F:Castle.MicroKernel.CreationContext.handlersChain">
+        <member name="F:Castle.MicroKernel.CreationContext.handlerStack">
             <summary>
             The list of handlers that are used to resolve
             the component.
@@ -178,10 +184,26 @@
             with itself.
             </summary>
         </member>
-        <member name="F:Castle.MicroKernel.CreationContext.dependencies">
+        <member name="M:Castle.MicroKernel.CreationContext.#ctor(System.Type,Castle.MicroKernel.CreationContext)">
             <summary>
-            Holds the scoped dependencies being resolved. 
-            If a dependency appears twice on the same scope, we'd have a cycle.
+            Initializes a new instance of the <see cref="T:Castle.MicroKernel.CreationContext"/> class.
+            </summary>
+            <param name="typeToExtractGenericArguments">The type to extract generic arguments.</param>
+            <param name="parentContext">The parent context.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.CreationContext.#ctor(Castle.MicroKernel.IHandler,Castle.MicroKernel.IReleasePolicy,System.Type,System.Collections.IDictionary,Castle.MicroKernel.SubSystems.Conversion.ITypeConverter)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Castle.MicroKernel.CreationContext"/> class.
+            </summary>
+            <param name="handler">The handler.</param>
+            <param name="releasePolicy">The release policy.</param>
+            <param name="typeToExtractGenericArguments">The type to extract generic arguments.</param>
+            <param name="additionalArguments">The additional arguments.</param>
+            <param name="conversionManager">The conversion manager.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.CreationContext.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Castle.MicroKernel.CreationContext"/> class.
             </summary>
         </member>
         <member name="M:Castle.MicroKernel.CreationContext.HandlerIsCurrentlyBeingResolved(Castle.MicroKernel.IHandler)">
@@ -465,7 +487,7 @@
         </member>
         <member name="M:Castle.MicroKernel.Facilities.AbstractFacility.Terminate">
             <summary>
-            Terminates the Facility, invokind the <see cref="M:Castle.MicroKernel.Facilities.AbstractFacility.Dispose"/> and setting 
+            Terminates the Facility, invokes the <see cref="M:Castle.MicroKernel.Facilities.AbstractFacility.Dispose"/> method and sets 
             the Kernel to a null reference.
             </summary>
         </member>
@@ -734,8 +756,17 @@
         </member>
         <member name="T:Castle.MicroKernel.LifecycleConcerns.ILifecycleConcern">
             <summary>
-            Summary description for ILifecycleConcern.
+            Represents a concern that will be applied to a component instance
+            during commission or decomission phase. 
+            </summary>
+        </member>
+        <member name="M:Castle.MicroKernel.LifecycleConcerns.ILifecycleConcern.Apply(Castle.Core.ComponentModel,System.Object)">
+            <summary>
+            Implementors should act on the instance in response to 
+            a decomission or commission phase. 
             </summary>
+            <param name="model">The model.</param>
+            <param name="component">The component.</param>
         </member>
         <member name="T:Castle.Facilities.TypedFactory.FactoryInterceptor">
             <summary>
@@ -1534,6 +1565,36 @@
             </summary>
             <value>The contributors.</value>
         </member>
+        <member name="T:Castle.MicroKernel.Proxy.IModelInterceptorsSelector">
+            <summary>
+            Select the appropriate interecptors based on the application specific
+            business logic
+            </summary>
+        </member>
+        <member name="M:Castle.MicroKernel.Proxy.IModelInterceptorsSelector.SelectInterceptors(Castle.Core.ComponentModel)">
+            <summary>
+            Select the appropriate intereceptor references.
+            The intereceptor references aren't neccessarily registered in the model.Intereceptors
+            </summary>
+            <param name="model">The model to select the interceptors for</param>
+            <returns>The intereceptors for this model (in the current context) or a null reference</returns>
+            <remarks>
+            If the selector is not interested in modifying the interceptors for this model, it 
+            should return a null reference and the next selector in line would be executed (or the default
+            model.Interceptors).
+            If the selector return a non null value, this is the value that is used, and the model.Interectors are ignored, if this
+            is not the desirable behavior, you need to merge your interceptors with the ones in model.Interecptors yourself.
+            </remarks>
+        </member>
+        <member name="M:Castle.MicroKernel.Proxy.IModelInterceptorsSelector.HasInterceptors(Castle.Core.ComponentModel)">
+            <summary>
+            Determain whatever the specified has interecptors.
+            The selector should only return true from this method if it has determained that is
+            a model that it would likely add interceptors to.
+            </summary>
+            <param name="model">The model</param>
+            <returns>Whatever this selector is likely to add intereceptors to the specified model</returns>
+        </member>
         <member name="T:Castle.MicroKernel.IProxyFactory">
             <summary>
             Defines the contract used by the kernel 
@@ -1542,7 +1603,7 @@
             the invocation to the registered interceptors in the model
             </summary>
         </member>
-        <member name="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])">
+        <member name="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,Castle.MicroKernel.CreationContext,System.Object[])">
             <summary>
             Implementors must create a proxy based on 
             the information exposed by ComponentModel
@@ -1551,6 +1612,7 @@
             <param name="model">The component model</param>
             <param name="instance">The component instance to be proxy (only required in some cases)</param>
             <param name="constructorArguments">array of parameters to the constructor (if any)</param>
+            <param name="context">The creation context</param>
             <returns>proxy instance</returns>
         </member>
         <member name="M:Castle.MicroKernel.IProxyFactory.RequiresTargetInstance(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
@@ -1561,7 +1623,20 @@
             </summary>
             <param name="kernel">The kernel instance</param>
             <param name="model">The component model</param>
-            <returns><c>true</c> if an instance must be passed to <see cref="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])"/></returns>
+            <returns><c>true</c> if an instance must be passed to <see cref="M:Castle.MicroKernel.IProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,Castle.MicroKernel.CreationContext,System.Object[])"/></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IProxyFactory.AddInterceptorSelector(Castle.MicroKernel.Proxy.IModelInterceptorsSelector)">
+            <summary>
+            Add the selector to the list of selectors that can affect interecptors decisions
+            in the container.
+            </summary>
+        </member>
+        <member name="M:Castle.MicroKernel.IProxyFactory.ShouldCreateProxy(Castle.Core.ComponentModel)">
+            <summary>
+            Determains whatever we need to create a proxy for this model
+            </summary>
+            <param name="model"></param>
+            <returns></returns>
         </member>
         <member name="T:Castle.MicroKernel.Proxy.IProxyHook">
             <summary>
@@ -1633,6 +1708,12 @@
             </summary>
             <param name="interfaces">The interfaces.</param>
         </member>
+        <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.AddMixIns(System.Object[])">
+            <summary>
+            Adds the additional mix ins to integrate.
+            </summary>
+            <param name="mixIns">The mix ins.</param>
+        </member>
         <member name="M:Castle.MicroKernel.Proxy.ProxyOptions.Equals(System.Object)">
             <summary>
             Equalses the specified obj.
@@ -1679,6 +1760,12 @@
             </summary>
             <value>The interfaces.</value>
         </member>
+        <member name="P:Castle.MicroKernel.Proxy.ProxyOptions.MixIns">
+            <summary>
+            Gets the mix ins to integrate.
+            </summary>
+            <value>The interfaces.</value>
+        </member>
         <member name="T:Castle.MicroKernel.Proxy.ProxyUtil">
             <summary>
             Helper support for proxy configuration.
@@ -1692,6 +1779,27 @@
             <param name="createOnDemand">true if the options should be created if not present.</param>
             <returns>The associated proxy options for the component model.</returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.Lifestyle.LifestyleGroup`1.Is(Castle.Core.LifestyleType)">
+            <summary>
+            Sets the lifestyle to the specified <paramref name="type"/>.
+            </summary>
+            <param name="type">The type.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.Lifestyle.LifestyleGroup`1.Custom(System.Type)">
+            <summary>
+            Assign a custom lifestyle type, that implements <see cref="T:Castle.MicroKernel.ILifestyleManager"/>.
+            </summary>
+            <param name="customLifestyleType">Type of the custom lifestyle.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.Lifestyle.LifestyleGroup`1.Custom``1">
+            <summary>
+            Assign a custom lifestyle type, that implements <see cref="T:Castle.MicroKernel.ILifestyleManager"/>.
+            </summary>
+            <typeparam name="L">The type of the custom lifestyle</typeparam>
+            <returns></returns>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.AllTypes">
             <summary>
             Describes a set of components to register in the kernel.
@@ -1731,6 +1839,20 @@
             <param name="assembly">The assembly.</param>
             <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.AllTypes.FromAssemblyContaining(System.Type)">
+            <summary>
+            Prepares to register types from an assembly containing the type.
+            </summary>
+            <param name="type">The type belonging to the assembly.</param>
+            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.AllTypes.FromAssemblyContaining``1">
+            <summary>
+            Prepares to register types from an assembly containing the type.
+            </summary>
+            <typeparam name="T">The type belonging to the assembly.</typeparam>
+            <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.FromDescriptor"/></returns>
+        </member>
         <member name="M:Castle.MicroKernel.Registration.AllTypes.From(System.Collections.Generic.IEnumerable{System.Type})">
             <summary>
             Prepares to register types from a list of types.
@@ -1792,6 +1914,13 @@
             <param name="types">The list of types.</param>
             <returns>The corresponding <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></returns>
         </member>
+        <member name="T:Castle.MicroKernel.Registration.ConfigureDelegate">
+            <summary>
+            Delegate for custom registration configuration.
+            </summary>
+            <param name="registration">The component registration.</param>
+            <returns>Not uaed.</returns>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.BasedOnDescriptor">
             <summary>
             Describes how to register a group of related types.
@@ -1834,6 +1963,31 @@
             <param name="configurer">The configuration action.</param>
             <returns></returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.Configure(Castle.MicroKernel.Registration.ConfigureDelegate)">
+            <summary>
+            Allows customized configurations of each matching type.
+            </summary>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.ConfigureFor``1(System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
+            <summary>
+            Allows customized configurations of each matching type that is 
+            assignable to <typeparamref name="T"/>.
+            </summary>
+            <typeparam name="T">The type assignable from.</typeparam>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.ConfigureFor``1(Castle.MicroKernel.Registration.ConfigureDelegate)">
+            <summary>
+            Allows customized configurations of each matching type that is 
+            assignable to <typeparamref name="T"/>.
+            </summary>
+            <typeparam name="T">The type assignable from.</typeparam>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.AllowMultipleMatches">
             <summary>
             Allows a type to be registered multiple times.
@@ -1853,6 +2007,13 @@
             <param name="basedOn">The base type.</param>
             <returns>The descriptor for the type.</returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.BasedOnDescriptor.Where(System.Predicate{System.Type})">
+            <summary>
+            Returns the descriptor for accepting a type based on a condition.
+            </summary>
+            <param name="accepted">The accepting condition.</param>
+            <returns>The descriptor for the type.</returns>
+        </member>
         <member name="P:Castle.MicroKernel.Registration.BasedOnDescriptor.InternalBasedOn">
             <summary>
             Gets the type all types must be based on.
@@ -1863,6 +2024,69 @@
             Gets the service descriptor.
             </summary>
         </member>
+        <member name="T:Castle.MicroKernel.Registration.ConfigureDescriptor">
+            <summary>
+            Describes a configuration.
+            </summary>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.#ctor(Castle.MicroKernel.Registration.BasedOnDescriptor,System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
+            <summary>
+             Initializes a new instance of the ConfigureDescriptor.
+            </summary>
+            <param name="basedOn">The <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></param>
+            <param name="configurer">The configuration action.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.#ctor(Castle.MicroKernel.Registration.BasedOnDescriptor,System.Type,System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
+            <summary>
+             Initializes a new instance of the ConfigureDescriptor.
+            </summary>
+            <param name="basedOn">The <see cref="T:Castle.MicroKernel.Registration.BasedOnDescriptor"/></param>
+            <param name="baseType">The base type to match.</param>
+            <param name="configurer">The configuration action.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.Configure(System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
+            <summary>
+            Allows customized configurations of each matching type.
+            </summary>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.Configure(Castle.MicroKernel.Registration.ConfigureDelegate)">
+            <summary>
+            Allows customized configurations of each matching type.
+            </summary>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.ConfigureFor``1(System.Action{Castle.MicroKernel.Registration.ComponentRegistration})">
+            <summary>
+            Allows customized configurations of each matching type that is 
+            assignable to <typeparamref name="T"/>.
+            </summary>
+            <typeparam name="T">The type assignable from.</typeparam>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.ConfigureFor``1(Castle.MicroKernel.Registration.ConfigureDelegate)">
+            <summary>
+            Allows customized configurations of each matching type that is 
+            assignable to <typeparamref name="T"/>.
+            </summary>
+            <typeparam name="T">The type assignable from.</typeparam>
+            <param name="configurer">The configuration action.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ConfigureDescriptor.Apply(Castle.MicroKernel.Registration.ComponentRegistration)">
+            <summary>
+            Performs the component configuration.
+            </summary>
+            <param name="registration">The component registration.</param>
+        </member>
+        <member name="T:Castle.MicroKernel.Registration.FromAssemblyDescriptor">
+            <summary>
+            Selects a set of types from an assembly.
+            </summary>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.FromDescriptor">
             <summary>
             Describes the source of types to register.
@@ -1887,6 +2111,18 @@
             <param name="basedOn">The base type.</param>
             <returns>The descriptor for the type.</returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.FromDescriptor.Where(System.Predicate{System.Type})">
+            <summary>
+            Returns the descriptor for accepting a type based on a condition.
+            </summary>
+            <param name="accepted">The accepting condition.</param>
+            <returns>The descriptor for the type.</returns>
+        </member>
+        <member name="T:Castle.MicroKernel.Registration.FromTypesDescriptor">
+            <summary>
+            Selects an existing set of types to register.
+            </summary>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.ServiceDescriptor">
             <summary>
             Describes how to select a types service.
@@ -1904,6 +2140,24 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.FromInterface(System.Type)">
+            <summary>
+            Uses <paramref name="implements"/> to lookup the sub interface.
+            For example: if you have IService and 
+            IProductService : ISomeInterface, IService, ISomeOtherInterface.
+            When you call FromInterface(typeof(IService)) then IProductService
+            will be used. Useful when you want to register _all_ your services
+            and but not want to specify all of them.
+            </summary>
+            <param name="implements"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.FromInterface">
+            <summary>
+            Uses base type to lookup the sub interface.
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.Select(Castle.MicroKernel.Registration.ServiceDescriptor.ServiceSelector)">
             <summary>
             Assigns a custom service selection strategy.
@@ -1911,6 +2165,48 @@
             <param name="selector"></param>
             <returns></returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.Select(System.Collections.Generic.IEnumerable{System.Type})">
+            <summary>
+            Assigns the supplied service types.
+            </summary>
+            <param name="types"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ServiceDescriptor.WorkaroundCLRBug(System.Type)">
+            <summary>
+            This is a workaround for a CLR bug in
+            which GetInterfaces() returns interfaces
+            with no implementations.
+            </summary>
+            <param name="serviceType">Type of the service.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.AttributeDescriptor`1.#ctor(System.String,System.String)">
+            <summary>
+            Constructs the <see cref="T:Castle.MicroKernel.Registration.AttributeDescriptor`1"/> descriptor with name and value.
+            </summary>
+            <param name="name">The attribute name.</param>
+            <param name="value">The attribute value.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.AttributeKeyDescriptor`1.#ctor(Castle.MicroKernel.Registration.ComponentRegistration{`0},System.String)">
+            <summary>
+            Constructs the <see cref="T:Castle.MicroKernel.Registration.AttributeKeyDescriptor`1"/> descriptor with name.
+            </summary>
+            <param name="component">The component.</param>
+            <param name="name">The attribute name.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.AttributeKeyDescriptor`1.Eq(System.Object)">
+            <summary>
+            Builds the <see cref="T:Castle.MicroKernel.Registration.AttributeKeyDescriptor`1"/> with value.
+            </summary>
+            <param name="value">The attribute value.</param>
+            <returns>The <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/></returns>
+        </member>
+        <member name="T:Castle.MicroKernel.Registration.Component">
+            <summary>
+            Factory for creating <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration"/> objects.
+            </summary>
+        </member>
         <member name="M:Castle.MicroKernel.Registration.Component.For(System.Type)">
             <summary>
             Creates a component registration for the <paramref name="serviceType"/>
@@ -1918,6 +2214,20 @@
             <param name="serviceType">Type of the service.</param>
             <returns>The component registration.</returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.Component.For(System.Type[])">
+            <summary>
+            Creates a component registration for the <paramref name="serviceTypes"/>
+            </summary>
+            <param name="serviceTypes">Types of the service.</param>
+            <returns>The component registration.</returns>B
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.Component.For(System.Collections.Generic.IEnumerable{System.Type})">
+            <summary>
+            Creates a component registration for the <paramref name="serviceTypes"/>
+            </summary>
+            <param name="serviceTypes">Types of the service.</param>
+            <returns>The component registration.</returns>B
+        </member>
         <member name="M:Castle.MicroKernel.Registration.Component.For``1">
             <summary>
             Creates a component registration for the service type.
@@ -1970,7 +2280,7 @@
             <param name="model">The component model.</param>
             <returns>The component registration.</returns>
         </member>
-        <member name="M:Castle.MicroKernel.Registration.Component.ServiceAlreadyRegistred(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
+        <member name="M:Castle.MicroKernel.Registration.Component.ServiceAlreadyRegistered(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
             <summary>
             Determines if the component service is already registered.
             </summary>
@@ -1978,6 +2288,27 @@
             <param name="model">The component model.</param>
             <returns>true if the service is already registered.</returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.Component.IsInNamespace(System.String)">
+            <summary>
+            Creates a predicate to check if a component is in a namespace.
+            </summary>
+            <param name="namespace">The namespace.</param>
+            <returns>true if the component type is in the namespace.</returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.Component.IsInSameNamespaceAs(System.Type)">
+            <summary>
+            Creates a predicate to check if a component shares a namespace with another.
+            </summary>
+            <param name="type">The component type to test namespace against.</param>
+            <returns>true if the component is in the same namespace.</returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.Component.IsInSameNamespaceAs``1">
+            <summary>
+            Creates a predicate to check if a component shares a namespace with another.
+            </summary>
+            <typeparam name="T">The component type to test namespace against.</typeparam>
+            <returns>true if the component is in the same namespace.</returns>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.ComponentFilter">
             <summary>
             Delegate to filter component registration.
@@ -1988,7 +2319,9 @@
         </member>
         <member name="T:Castle.MicroKernel.Registration.ComponentRegistration`1">
             <summary>
-            Registration for a single component with the kernel.
+            Registration for a single type as a component with the kernel.
+            <para/>
+            You can create a new registration with the <see cref="T:Castle.MicroKernel.Registration.Component"/> factory.
             </summary>
             <typeparam name="S">The service type</typeparam>
         </member>
@@ -2011,16 +2344,38 @@
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Named(System.String)">
             <summary>
-            With the name.
+            Change the name of this registration. 
+            This will be the key for the component in the kernel.
+            <para/>
+            If not set, the <see cref="P:System.Type.FullName"/> of the <see cref="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Implementation"/>
+            will be used as the key to register the component.
             </summary>
-            <param name="name">The name.</param>
+            <param name="name">The name of this registration.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ImplementedBy``1">
+            <summary>
+            Sets the concrete type that implements the service to <typeparamref name="C"/>.
+            <para/>
+            If not set, the <see cref="P:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceType"/> will be used as the implementation for this component.
+            </summary>
+            <typeparam name="C">The type that is the implementation for the service.</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ImplementedBy(System.Type)">
+            <summary>
+            Sets the concrete type that implements the service to <paramref name="type"/>.
+            <para/>
+            If not set, the <see cref="P:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceType"/> will be used as the implementation for this component.
+            </summary>
+            <param name="type">The type that is the implementation for the service.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Instance(`0)">
             <summary>
-            With the instance.
+            Assigns an existing instance as the component for this registration.
             </summary>
-            <param name="instance">The instance.</param>
+            <param name="instance">The component instance.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Forward(System.Type[])">
@@ -2073,120 +2428,154 @@
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Activator``1">
             <summary>
-            With the activator.
+            Set a custom <see cref="T:Castle.MicroKernel.IComponentActivator"/> which creates and destroys the component.
             </summary>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ExtendedProperties(Castle.MicroKernel.Registration.Property[])">
             <summary>
-            With the extended properties.
+            Sets <see cref="P:Castle.Core.ComponentModel.ExtendedProperties"/> for this component.
             </summary>
-            <param name="properties">The properties.</param>
+            <param name="properties">The extended properties.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ExtendedProperties(System.Object)">
             <summary>
-            With the extended properties.
+            Sets <see cref="P:Castle.Core.ComponentModel.ExtendedProperties"/> for this component.
             </summary>
-            <param name="anonymous">The properties.</param>
+            <param name="anonymous">The extendend properties as key/value pairs.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(Castle.MicroKernel.Registration.Property[])">
             <summary>
-            With the custom dependencies.
+            Specify custom dependencies using <see cref="M:Castle.MicroKernel.Registration.Property.ForKey(System.String)"/>.
+            <para/>
+            Use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(Castle.MicroKernel.Registration.ServiceOverride[])"/> to specify the components
+            this component should be resolved with.
             </summary>
             <param name="dependencies">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Collections.IDictionary)">
             <summary>
-            With the custom dependencies.
+            Uses a dictionary of key/value pairs, to specify custom dependencies.
+            <para/>
+            Use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Collections.IDictionary)"/> to specify the components
+            this component should be resolved with.
             </summary>
             <param name="dependencies">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Object)">
             <summary>
-            With the custom dependencies.
+            Uses an (anonymous) object as a dictionary, to specify custom dependencies.
+            <para/>
+            Use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Object)"/> to specify the components
+            this component should be resolved with.
             </summary>
             <param name="anonymous">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(Castle.MicroKernel.Registration.Property[])">
             <summary>
-            With the custom dependencies.
+            Obsolete, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(Castle.MicroKernel.Registration.Property[])"/> instead.
             </summary>
             <param name="dependencies">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(System.Collections.IDictionary)">
             <summary>
-            With the custom dependencies.
+            Obsolete, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Collections.IDictionary)"/> instead.
             </summary>
             <param name="dependencies">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.CustomDependencies(System.Object)">
             <summary>
-            With the custom dependencies.
+            Obsolete, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Object)"/> instead.
             </summary>
             <param name="dependencies">The dependencies.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(Castle.MicroKernel.Registration.ServiceOverride[])">
             <summary>
-            With the service overrides.
+            Override (some of) the services that this component needs.
+            Use <see cref="M:Castle.MicroKernel.Registration.ServiceOverride.ForKey(System.String)"/> to create an override.
+            <para/>
+            Each key represents the service dependency of this component, for example the name of a constructor argument or a property.
+            The corresponding value is the key of an other component registered to the kernel, and is used to resolve the dependency.
+            <para/>
+            To specify dependencies which are not services, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(Castle.MicroKernel.Registration.Property[])"/>
             </summary>
-            <param name="overrides">The overrides.</param>
+            <param name="overrides">The service overrides.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Collections.IDictionary)">
             <summary>
-            With the service overrides.
+            Override (some of) the services that this component needs, using a dictionary.
+            <para/>
+            Each key represents the service dependency of this component, for example the name of a constructor argument or a property.
+            The corresponding value is the key of an other component registered to the kernel, and is used to resolve the dependency.
+            <para/>
+            To specify dependencies which are not services, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Collections.IDictionary)"/>
             </summary>
-            <param name="overrides">The overrides.</param>
+            <param name="overrides">The service overrides.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceOverrides(System.Object)">
             <summary>
-            With the service overrides.
+            Override (some of) the services that this component needs, using an (anonymous) object as a dictionary.
+            <para/>
+            Each key represents the service dependency of this component, for example the name of a constructor argument or a property.
+            The corresponding value is the key of an other component registered to the kernel, and is used to resolve the dependency.
+            <para/>
+            To specify dependencies which are not services, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.DependsOn(System.Object)"/>
             </summary>
-            <param name="anonymous">The overrides.</param>
+            <param name="anonymous">The service overrides.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Parameters(Castle.MicroKernel.Registration.Parameter[])">
             <summary>
-            With the configuration parameters.
+            Set configuration parameters with string or <see cref="T:Castle.Core.Configuration.IConfiguration"/> values.
             </summary>
             <param name="parameters">The parameters.</param>
             <returns></returns>
         </member>
+        <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Attribute(System.String)">
+            <summary>
+            Creates an attribute descriptor.
+            </summary>
+            <param name="key">The attribute key.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Configuration(Castle.MicroKernel.Registration.Node[])">
             <summary>
-            With the configuration.
+            Apply more complex configuration to this component registration.
             </summary>
             <param name="configNodes">The config nodes.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Configuration(Castle.Core.Configuration.IConfiguration)">
             <summary>
-            With the configuration.
+            Apply more complex configuration to this component registration.
             </summary>
             <param name="configuration">The configuration <see cref="T:Castle.Core.Configuration.MutableConfiguration"/>.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Interceptors(Castle.Core.InterceptorReference[])">
             <summary>
-            With the interceptors.
+            Set the interceptors for this component.
             </summary>
             <param name="interceptors">The interceptors.</param>
             <returns></returns>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Startable">
             <summary>
-            Makrs component as startable.
+            Marks the component as startable.
             </summary>
             <returns></returns>
+            <remarks>Be sure that you first added the <see cref="T:Castle.Facilities.Startable.StartableFacility"/> 
+            to the kernel, before registering this component.</remarks>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.StartUsingMethod(System.String)">
             <summary>
@@ -2194,6 +2583,8 @@
             </summary>
             <param name="startMethod">The start method.</param>
             <returns></returns>
+            <remarks>Be sure that you first added the <see cref="T:Castle.Facilities.Startable.StartableFacility"/> 
+            to the kernel, before registering this component.</remarks>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.StopUsingMethod(System.String)">
             <summary>
@@ -2201,6 +2592,8 @@
             </summary>
             <param name="stopMethod">The stop method.</param>
             <returns></returns>
+            <remarks>Be sure that you first added the <see cref="T:Castle.Facilities.Startable.StartableFacility"/> 
+            to the kernel, before registering this component.</remarks>
         </member>
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ActAs(System.Object[])">
             <summary>
@@ -2212,6 +2605,9 @@
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.If(Castle.MicroKernel.Registration.ComponentFilter)">
             <summary>
             Assigns a conditional predication which must be satisfied.
+            <para />
+            The component will only be registered into the kernel 
+            if this predicate is satisfied (or not assigned at all).
             </summary>
             <param name="ifFilter">The predicate to satisfy.</param>
             <returns></returns>
@@ -2219,6 +2615,9 @@
         <member name="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Unless(Castle.MicroKernel.Registration.ComponentFilter)">
             <summary>
             Assigns a conditional predication which must not be satisfied. 
+            <para />
+            The component will only be registered into the kernel 
+            if this predicate is not satisfied (or not assigned at all).
             </summary>
             <param name="unlessFilter">The predicate not to satisify.</param>
             <returns></returns>
@@ -2244,18 +2643,61 @@
             <param name="descriptor">The descriptor.</param>
             <returns></returns>
         </member>
+        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Name">
+            <summary>
+            The name of the component. Will become the key for the component in the kernel.
+            <para/>
+            To set the name, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Named(System.String)"/>.
+            <para/>
+            If not set, the <see cref="P:System.Type.FullName"/> of the <see cref="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Implementation"/>
+            will be used as the key to register the component.
+            </summary>
+            <value>The name.</value>
+        </member>
+        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.ServiceType">
+            <summary>
+            The type of the service, the same as <typeparamref name="S"/>.
+            <para/>
+            This is the first type passed to <see cref="M:Castle.MicroKernel.Registration.Component.For(System.Type)"/>.
+            </summary>
+            <value>The type of the service.</value>
+        </member>
+        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.ForwardedTypes">
+            <summary>
+            Gets the forwarded service types on behalf of this component.
+            <para/>
+            Add more types to forward using <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.Forward(System.Type[])"/>.
+            </summary>
+            <value>The types of the forwarded services.</value>
+        </member>
+        <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Implementation">
+            <summary>
+            The concrete type that implements the service.
+            <para/>
+            To set the implementation, use <see cref="M:Castle.MicroKernel.Registration.ComponentRegistration`1.ImplementedBy(System.Type)"/>.
+            </summary>
+            <value>The implementation of the service.</value>
+        </member>
         <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.Proxy">
             <summary>
-            Gets the proxy.
+            Set proxy for this component.
             </summary>
             <value>The proxy.</value>
         </member>
         <member name="P:Castle.MicroKernel.Registration.ComponentRegistration`1.LifeStyle">
             <summary>
-            Gets the with lifestyle.
+            Set the lifestyle of this component.
+            For example singleton and transient (also known as 'factory').
             </summary>
             <value>The with lifestyle.</value>
         </member>
+        <member name="T:Castle.MicroKernel.Registration.ComponentRegistration">
+            <summary>
+            A non-generic <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/>.
+            <para/>
+            You can create a new registration with the <see cref="T:Castle.MicroKernel.Registration.Component"/> factory.
+            </summary>
+        </member>
         <member name="T:Castle.MicroKernel.Registration.Node">
             <summary>
             Represents a configuration child.
@@ -2542,11 +2984,6 @@
             Gets the service override key name.
             </summary>
         </member>
-        <member name="T:Castle.MicroKernel.Releasers.AllComponentsReleasePolicy">
-            <summary>
-            Summary description for AllComponentsReleasePolicy.
-            </summary>
-        </member>
         <member name="T:Castle.MicroKernel.IReleasePolicy">
             <summary>
             Summary description for IReleasePolicy.
@@ -2555,12 +2992,7 @@
         <member name="T:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy">
             <summary>
             Only tracks components that have decommission steps
-            registered
-            </summary>
-        </member>
-        <member name="M:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.MicroKernel.Releasers.LifecycledComponentsReleasePolicy"/> class.
+            registered or have pooled lifestyle.
             </summary>
         </member>
         <member name="T:Castle.MicroKernel.Releasers.NoTrackingReleasePolicy">
@@ -2573,6 +3005,72 @@
             Initializes a new instance of the <see cref="T:Castle.MicroKernel.Releasers.NoTrackingReleasePolicy"/> class.
             </summary>
         </member>
+        <member name="T:Castle.MicroKernel.Resolvers.SpecializedResolvers.ArrayResolver">
+            <summary>
+            Handle dependencies of services in the format of typed arrays.
+            </summary>
+            <remarks>
+            This is a complimentary <see cref="T:Castle.MicroKernel.ISubDependencyResolver"/> implementation 
+            that is capable of satisfying dependencies of services as typed arrays.
+            <para>
+            Note that it will take precedence over service override for arrays defined 
+            on the configuration.
+            </para>
+            </remarks>
+            <example>
+            In order to install the resolver:
+            <code>
+            var kernel = new DefaultKernel();
+            kernel.Resolver.AddSubResolver(new ArrayResolver(kernel));
+            </code>
+            
+            <para>
+            To use it, assuming that IService is on the container:
+            </para>
+            
+            <code>
+            public class Component
+            {
+                public Component(IService[] services)
+                {
+                }
+            }
+            </code>
+            </example>
+        </member>
+        <member name="T:Castle.MicroKernel.Resolvers.SpecializedResolvers.ListResolver">
+            <summary>
+            Handle dependencies of services in the format of generic IList.
+            </summary>
+            <remarks>
+            This is a complimentary <see cref="T:Castle.MicroKernel.ISubDependencyResolver"/> implementation 
+            that is capable of satisfying dependencies of services generic IList.
+            <para>
+            Note that it will take precedence over service override for lists defined 
+            on the configuration.
+            </para>
+            </remarks>
+            <example>
+            In order to install the resolver:
+            <code>
+            var kernel = new DefaultKernel();
+            kernel.Resolver.AddSubResolver(new ListResolver(kernel));
+            </code>
+            
+            <para>
+            To use it, assuming that IService is on the container:
+            </para>
+            
+            <code>
+            public class Component
+            {
+                public Component(IList&lt;IService&gt; services)
+                {
+                }
+            }
+            </code>
+            </example>
+        </member>
         <member name="T:Castle.MicroKernel.Resolvers.DefaultDependencyResolver">
             <summary>
             Default implementation for <see cref="T:Castle.MicroKernel.IDependencyResolver"/>.
@@ -2635,7 +3133,7 @@
             Returns true if the resolver is able to satisfy the specified dependency.
             </summary>
             <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
+            <param name="contextHandlerResolver">Parent resolver</param>
             <param name="model">Model of the component that is requesting the dependency</param>
             <param name="dependency">The dependency model</param>
             <returns><c>true</c> if the dependency can be satisfied</returns>
@@ -2665,7 +3163,7 @@
             </list>
             </remarks>
             <param name="context">Creation context, which is a resolver itself</param>
-            <param name="parentResolver">Parent resolver</param>
+            <param name="contextHandlerResolver">Parent resolver</param>
             <param name="model">Model of the component that is requesting the dependency</param>
             <param name="dependency">The dependency model</param>
             <returns>The dependency resolved value or null</returns>
@@ -3320,7 +3818,13 @@
             List of handler by service
             </summary>
         </member>
-        <member name="P:Castle.MicroKernel.INamingSubSystem.ComponentCount">
+        <member name="M:Castle.MicroKernel.INamingSubSystem.AddHandlerSelector(Castle.MicroKernel.IHandlerSelector)">
+            <summary>
+            Register a new component resolver that can take part in the decision
+            making about which handler to resolve
+            </summary>
+        </member>
+        <member name="P:Castle.MicroKernel.INamingSubSystem.ComponentCount">
             <summary>
             Returns the number of components registered.
             </summary>
@@ -3359,6 +3863,35 @@
             Initializes a new instance of the <see cref="T:Castle.MicroKernel.SubSystems.Naming.DefaultNamingSubSystem"/> class.
             </summary>
         </member>
+        <member name="T:Castle.MicroKernel.IHandlerSelector">
+            <summary>
+            Implementors of this interface allow to extend the way the container perform
+            component resolution based on some application specific business logic.
+            </summary>
+            <remarks>
+            This is the sibling interface to <seealso cref="T:Castle.MicroKernel.ISubDependencyResolver"/>.
+            This is dealing strictly with root components, while the <seealso cref="T:Castle.MicroKernel.ISubDependencyResolver"/> is dealing with
+            dependent components.
+            </remarks>
+        </member>
+        <member name="M:Castle.MicroKernel.IHandlerSelector.HasOpinionAbout(System.String,System.Type)">
+            <summary>
+            Whatever the selector has an opinion about resolving a component with the 
+            specified service and key.
+            </summary>
+            <param name="key">The service key - can be null</param>
+            <param name="service">The service interface that we want to resolve</param>
+        </member>
+        <member name="M:Castle.MicroKernel.IHandlerSelector.SelectHandler(System.String,System.Type,Castle.MicroKernel.IHandler[])">
+            <summary>
+            Select the appropriate handler from the list of defined handlers.
+            The returned handler should be a member from the <paramref name="handlers"/> array.
+            </summary>
+            <param name="key">The service key - can be null</param>
+            <param name="service">The service interface that we want to resolve</param>
+            <param name="handlers">The defined handlers</param>
+            <returns>The selected handler, or null</returns>
+        </member>
         <member name="T:Castle.MicroKernel.SubSystems.Naming.KeySearchNamingSubSystem">
             <summary>
             When requesting a component by service, KeySearchNamingSubSystem first 
@@ -3487,11 +4020,26 @@
             This implementation is complete and also support a kernel 
             hierarchy (sub containers).
             </summary>
+            <summary>
+            Default implementation of <see cref="T:Castle.MicroKernel.IKernel"/>. 
+            This implementation is complete and also support a kernel 
+            hierarchy (sub containers).
+            </summary>
         </member>
-        <member name="T:Castle.MicroKernel.KernelEventSupport">
+        <member name="T:Castle.MicroKernel.IKernel">
             <summary>
-            Summary description for KernelEventSupport.
+            The <c>IKernel</c> interface exposes all the functionality
+            the MicroKernel implements.
             </summary>
+            <remarks>
+            It allows you to register components and
+            request them by the key or the service they implemented.
+            It also allow you to register facilities and subsystem, thus 
+            augmenting the functionality exposed by the kernel alone to fits 
+            your needs.
+            <seealso cref="T:Castle.MicroKernel.IFacility"/>
+            <seealso cref="T:Castle.MicroKernel.ISubSystem"/>
+            </remarks>
         </member>
         <member name="T:Castle.MicroKernel.IKernelEvents">
             <summary>
@@ -3547,69 +4095,240 @@
             <summary>
             Event fired when a dependency is being resolved,
             it allows the dependency to be changed,
-            but the client ComponentModel must not be altered.
+            but the client ComponentModel must not be changed.
             </summary>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.HandlerRegistered">
+        <member name="M:Castle.MicroKernel.IKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
             <summary>
-            Pending
+            Registers the components provided by the <see cref="T:Castle.MicroKernel.Registration.IRegistration"/>s
+            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
+            <para/>
+            Create a new registration using <see cref="T:Castle.MicroKernel.Registration.Component"/>.For() or <see cref="T:Castle.MicroKernel.Registration.AllTypes"/>.
             </summary>
+            <example>
+            <code>
+            kernel.Register(Component.For&lt;IService&gt;().ImplementedBy&lt;DefaultService&gt;());
+            </code>
+            </example>
+            <param name="registrations">The component registrations.</param>
+            <returns>The kernel.</returns>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentRegistered">
+        <member name="M:Castle.MicroKernel.IKernel.RemoveComponent(System.String)">
             <summary>
-            Pending
+            Returns true if the specified component was 
+            found and could be removed (i.e. no other component depends on it)
             </summary>
-            <value></value>
+            <param name="key">The component's key</param>
+            <returns></returns>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentUnregistered">
+        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.String)">
             <summary>
-            Pending
+            Returns true if the specified key was registered
             </summary>
-            <value></value>
+            <param name="key"></param>
+            <returns></returns>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentCreated">
+        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.Type)">
             <summary>
-            Pending
+            Returns true if the specified service was registered
             </summary>
-            <value></value>
+            <param name="service"></param>
+            <returns></returns>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentDestroyed">
+        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
             <summary>
-            Pending
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
             </summary>
-            <value></value>
+            <param name="service"></param>
+            <param name="dependencies"></param>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.AddedAsChildKernel">
+        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Object)">
             <summary>
-            Pending
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
             </summary>
-            <value></value>
+            <param name="service"></param>
+            <param name="dependenciesAsAnonymousType"></param>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.RemovedAsChildKernel">
+        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
             <summary>
-            Pending
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
             </summary>
+            <param name="key"></param>
+            <param name="dependencies"></param>
         </member>
-        <member name="E:Castle.MicroKernel.KernelEventSupport.ComponentModelCreated">
+        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Object)">
             <summary>
-            Pending
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
             </summary>
-            <value></value>
+            <param name="key"></param>
+            <param name="dependenciesAsAnonymousType"></param>
         </member>
-        <member name="T:Castle.MicroKernel.IKernel">
+        <member name="M:Castle.MicroKernel.IKernel.ReleaseComponent(System.Object)">
             <summary>
-            The <c>IKernel</c> interface exposes all the functionality
-            the MicroKernel implements.
+            Releases a component instance. This allows
+            the kernel to execute the proper decomission 
+            lifecycles on the component instance.
+            </summary>
+            <param name="instance"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.CreateComponentActivator(Castle.Core.ComponentModel)">
+            <summary>
+            Constructs an implementation of <see cref="T:Castle.MicroKernel.IComponentActivator"/>
+            for the given <see cref="T:Castle.Core.ComponentModel"/>
+            </summary>
+            <param name="model"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.String)">
+            <summary>
+            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
+            for the specified component key.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.Type)">
+            <summary>
+            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
+            for the specified service.
+            </summary>
+            <param name="service"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetHandlers(System.Type)">
+            <summary>
+            Return handlers for components that 
+            implements the specified service.
+            </summary>
+            <param name="service"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetAssignableHandlers(System.Type)">
+            <summary>
+            Return handlers for components that 
+            implements the specified service. 
+            The check is made using IsAssignableFrom
+            </summary>
+            <param name="service"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility(System.String,Castle.MicroKernel.IFacility)">
+            <summary>
+            Adds a <see cref="T:Castle.MicroKernel.IFacility"/> to the kernel.
+            </summary>
+            <param name="key"></param>
+            <param name="facility"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.String)">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.String,System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.String,System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetFacilities">
+            <summary>
+            Returns the facilities registered on the kernel.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddSubSystem(System.String,Castle.MicroKernel.ISubSystem)">
+            <summary>
+            Adds (or replaces) an <see cref="T:Castle.MicroKernel.ISubSystem"/>
+            </summary>
+            <param name="key"></param>
+            <param name="subsystem"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.GetSubSystem(System.String)">
+            <summary>
+            Returns an implementation of <see cref="T:Castle.MicroKernel.ISubSystem"/>
+            for the specified key. 
+            <seealso cref="T:Castle.MicroKernel.SubSystemConstants"/>
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddChildKernel(Castle.MicroKernel.IKernel)">
+            <summary>
+            Support for kernel hierarchy
+            </summary>
+            <param name="kernel"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.RemoveChildKernel(Castle.MicroKernel.IKernel)">
+            <summary>
+            Remove child kernel
+            </summary>
+            <param name="kernel"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.RaiseHandlerRegistered(Castle.MicroKernel.IHandler)">
+            <summary>
+            Raise the hanlder registered event, required so
+            dependant handlers will be notified about their dependant moving
+            to valid state.
+            </summary>
+            <param name="handler"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.RegisterHandlerForwarding(System.Type,System.String)">
+            <summary>
+            Registers the <paramref name="forwardedType"/> to be forwarded 
+            to the component registered with <paramref name="name"/>.
+            </summary>
+            <param name="forwardedType">The service type that gets forwarded.</param>
+            <param name="name">The name of the component to forward to.</param>
+        </member>
+        <member name="M:Castle.MicroKernel.IKernel.AddHandlerSelector(Castle.MicroKernel.IHandlerSelector)">
+            <summary>
+            Register a new component resolver that can take part in the decision
+            making about which handler to resolve
             </summary>
-            <remarks>
-            It allows you to register components and
-            request them by the key or the service they implemented.
-            It also allow you to register facilities and subsystem, thus 
-            augmenting the functionality exposed by the kernel alone to fits 
-            your needs.
-            <seealso cref="T:Castle.MicroKernel.IFacility"/>
-            <seealso cref="T:Castle.MicroKernel.ISubSystem"/>
-            </remarks>
         </member>
         <member name="M:Castle.MicroKernel.IKernel.AddComponent(System.String,System.Type)">
             <summary>
@@ -3875,40 +4594,17 @@
             <param name="instance"></param>
             <param name="classType"></param>
         </member>
-        <member name="M:Castle.MicroKernel.IKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
+        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.Type)">
             <summary>
-            Registers the components provided by the <see cref="T:Castle.MicroKernel.Registration.IRegistration"/>s
-            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The kernel.</returns>
+            Returns the component instance by the service type
             </summary>
         </member>
-        <member name="M:Castle.MicroKernel.IKernel.RemoveComponent(System.String)">
+        <member name="M:Castle.MicroKernel.IKernel.ResolveAll(System.Type)">
             <summary>
-            Returns true if the specified component was 
-            found and could be removed (i.e. no other component depends on it)
-            </summary>
-            <param name="key">The component's key</param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.String)">
-            <summary>
-            Returns true if the specified key was registered
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.HasComponent(System.Type)">
-            <summary>
-            Returns true if the specified service was registered
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.Resolve(System.Type)">
-            <summary>
-            Returns the component instance by the service type
+            Returns all the valid component instances by
+            the service type
             </summary>
+            <param name="service">The service type</param>
         </member>
         <member name="M:Castle.MicroKernel.IKernel.ResolveAll(System.Type,System.Collections.IDictionary)">
             <summary>
@@ -4039,165 +4735,6 @@
             <param name="arguments"></param>
             <returns></returns>
         </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.Type,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RegisterCustomDependencies(System.String,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.ReleaseComponent(System.Object)">
-            <summary>
-            Releases a component instance. This allows
-            the kernel to execute the proper decomission 
-            lifecycles on the component instance.
-            </summary>
-            <param name="instance"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.CreateComponentActivator(Castle.Core.ComponentModel)">
-            <summary>
-            Constructs an implementation of <see cref="T:Castle.MicroKernel.IComponentActivator"/>
-            for the given <see cref="T:Castle.Core.ComponentModel"/>
-            </summary>
-            <param name="model"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.String)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
-            for the specified component key.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandler(System.Type)">
-            <summary>
-            Returns the <see cref="T:Castle.MicroKernel.IHandler"/>
-            for the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service.
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetAssignableHandlers(System.Type)">
-            <summary>
-            Return handlers for components that 
-            implements the specified service. 
-            The check is made using IsAssignableFrom
-            </summary>
-            <param name="service"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility(System.String,Castle.MicroKernel.IFacility)">
-            <summary>
-            Adds a <see cref="T:Castle.MicroKernel.IFacility"/> to the kernel.
-            </summary>
-            <param name="key"></param>
-            <param name="facility"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1(System.String)">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <param name="key"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddFacility``1">
-            <summary>
-            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the kernel.
-            </summary>
-            <typeparam name="T">The facility type.</typeparam>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetFacilities">
-            <summary>
-            Returns the facilities registered on the kernel.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddSubSystem(System.String,Castle.MicroKernel.ISubSystem)">
-            <summary>
-            Adds (or replaces) an <see cref="T:Castle.MicroKernel.ISubSystem"/>
-            </summary>
-            <param name="key"></param>
-            <param name="subsystem"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.GetSubSystem(System.String)">
-            <summary>
-            Returns an implementation of <see cref="T:Castle.MicroKernel.ISubSystem"/>
-            for the specified key. 
-            <seealso cref="T:Castle.MicroKernel.SubSystemConstants"/>
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.AddChildKernel(Castle.MicroKernel.IKernel)">
-            <summary>
-            Support for kernel hierarchy
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RemoveChildKernel(Castle.MicroKernel.IKernel)">
-            <summary>
-            Remove child kernel
-            </summary>
-            <param name="kernel"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.IKernel.RaiseHandlerRegistered(Castle.MicroKernel.IHandler)">
-            <summary>
-            Raise the hanlder registered event, required so
-            dependant handlers will be notified about their dependant moving
-            to valid state.
-            </summary>
-            <param name="handler"></param>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Item(System.String)">
-            <summary>
-            Returns the component instance by the key
-            </summary>
-        </member>
-        <member name="P:Castle.MicroKernel.IKernel.Item(System.Type)">
-            <summary>
-            Returns the component instance by the service type
-            </summary>
-        </member>
         <member name="P:Castle.MicroKernel.IKernel.ComponentModelBuilder">
             <summary>
             Returns the implementation of <see cref="T:Castle.MicroKernel.IComponentModelBuilder"/>
@@ -4239,6 +4776,16 @@
             Graph of components and iteractions.
             </summary>
         </member>
+        <member name="P:Castle.MicroKernel.IKernel.Item(System.String)">
+            <summary>
+            Returns the component instance by the key
+            </summary>
+        </member>
+        <member name="P:Castle.MicroKernel.IKernel.Item(System.Type)">
+            <summary>
+            Returns the component instance by the service type
+            </summary>
+        </member>
         <member name="F:Castle.MicroKernel.DefaultKernel.parentKernel">
             <summary>
             The parent kernel, if exists.
@@ -4305,6 +4852,114 @@
             implementation of <see cref="T:Castle.MicroKernel.IProxyFactory"/>
             </summary>
         </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
+            <summary>
+            Registers the components described by the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/>s
+            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
+            <param name="registrations">The component registrations.</param>
+            <returns>The kernel.</returns>
+            </summary>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.RemoveComponent(System.String)">
+            <summary>
+            Returns true if the specified component was
+            found and could be removed (i.e. no other component depends on it)
+            </summary>
+            <param name="key">The component's key</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
+            <summary>
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
+            </summary>
+            <param name="service"></param>
+            <param name="dependencies"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Object)">
+            <summary>
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
+            </summary>
+            <param name="service"></param>
+            <param name="dependenciesAsAnonymousType"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
+            <summary>
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
+            </summary>
+            <param name="key"></param>
+            <param name="dependencies"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Object)">
+            <summary>
+            Associates objects with a component handler,
+            allowing it to use the specified dictionary
+            when resolving dependencies
+            </summary>
+            <param name="key"></param>
+            <param name="dependenciesAsAnonymousType"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.ReleaseComponent(System.Object)">
+            <summary>
+            Releases a component instance. This allows
+            the kernel to execute the proper decomission
+            lifecycles on the component instance.
+            </summary>
+            <param name="instance"></param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.GetHandlers(System.Type)">
+            <summary>
+            Return handlers for components that 
+            implements the specified service.
+            </summary>
+            <param name="service"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.GetAssignableHandlers(System.Type)">
+            <summary>
+            Return handlers for components that 
+            implements the specified service. 
+            The check is made using IsAssignableFrom
+            </summary>
+            <param name="service"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.GetFacilities">
+            <summary>
+            Returns the facilities registered on the kernel.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.GetService(System.Type)">
+             <summary>
+             Gets the service object of the specified type.
+             </summary>
+            
+             <returns>
+             A service object of type serviceType.
+             </returns>
+            
+             <param name="serviceType">An object that specifies the type of service object to get. </param>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.GetService``1">
+             <summary>
+             Gets the service object of the specified type.
+             </summary>
+            
+             <returns>
+             A service object of type serviceType.
+             </returns>
+        </member>
+        <member name="M:Castle.MicroKernel.DefaultKernel.Dispose">
+            <summary>
+            Starts the process of component disposal.
+            </summary>
+        </member>
         <member name="M:Castle.MicroKernel.DefaultKernel.AddComponent(System.String,System.Type,Castle.Core.LifestyleType)">
             <summary>
             Adds a concrete class
@@ -4539,14 +5194,6 @@
             <param name="serviceType"></param>
             <param name="instance"></param>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Register(Castle.MicroKernel.Registration.IRegistration[])">
-            <summary>
-            Registers the components described by the <see cref="T:Castle.MicroKernel.Registration.ComponentRegistration`1"/>s
-            with the <see cref="T:Castle.MicroKernel.IKernel"/>.
-            <param name="registrations">The component registrations.</param>
-            <returns>The kernel.</returns>
-            </summary>
-        </member>
         <member name="M:Castle.MicroKernel.DefaultKernel.Resolve``1(System.Collections.IDictionary)">
             <summary>
             Returns the component instance by the service type
@@ -4586,18 +5233,17 @@
             <param name="arguments"></param>
             <returns>The Component instance</returns>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RemoveComponent(System.String)">
+        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.Type)">
             <summary>
-            Returns true if the specified component was
-            found and could be removed (i.e. no other component depends on it)
+            Returns the component instance by the service type
             </summary>
-            <param name="key">The component's key</param>
-            <returns></returns>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.Type)">
+        <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll(System.Type)">
             <summary>
-            Returns the component instance by the service type
+            Returns all the valid component instances by
+            the service type
             </summary>
+            <param name="service">The service type</param>
         </member>
         <member name="M:Castle.MicroKernel.DefaultKernel.ResolveAll(System.Type,System.Collections.IDictionary)">
             <summary>
@@ -4667,42 +5313,6 @@
             <param name="argumentsAsAnonymousType"></param>
             <returns></returns>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.Type,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="service"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Collections.IDictionary)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependencies"></param>
-        </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.RegisterCustomDependencies(System.String,System.Object)">
-            <summary>
-            Associates objects with a component handler,
-            allowing it to use the specified dictionary
-            when resolving dependencies
-            </summary>
-            <param name="key"></param>
-            <param name="dependenciesAsAnonymousType"></param>
-        </member>
         <member name="M:Castle.MicroKernel.DefaultKernel.Resolve(System.String,System.Type)">
             <summary>
             Returns a component instance by the key
@@ -4736,66 +5346,56 @@
             <param name="argumentsAsAnonymousType">Type of the arguments as anonymous.</param>
             <returns></returns>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.ReleaseComponent(System.Object)">
+        <member name="P:Castle.MicroKernel.DefaultKernel.GraphNodes">
             <summary>
-            Releases a component instance. This allows
-            the kernel to execute the proper decomission
-            lifecycles on the component instance.
+            Graph of components and iteractions.
             </summary>
-            <param name="instance"></param>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetHandlers(System.Type)">
+        <member name="E:Castle.MicroKernel.DefaultKernel.HandlerRegistered">
             <summary>
-            Return handlers for components that 
-            implements the specified service.
+            Pending
             </summary>
-            <param name="service"></param>
-            <returns></returns>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetAssignableHandlers(System.Type)">
+        <member name="E:Castle.MicroKernel.DefaultKernel.ComponentRegistered">
             <summary>
-            Return handlers for components that 
-            implements the specified service. 
-            The check is made using IsAssignableFrom
+            Pending
             </summary>
-            <param name="service"></param>
-            <returns></returns>
+            <value></value>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetFacilities">
+        <member name="E:Castle.MicroKernel.DefaultKernel.ComponentUnregistered">
             <summary>
-            Returns the facilities registered on the kernel.
+            Pending
             </summary>
-            <returns></returns>
+            <value></value>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetService(System.Type)">
-             <summary>
-             Gets the service object of the specified type.
-             </summary>
-            
-             <returns>
-             A service object of type serviceType.
-             </returns>
-            
-             <param name="serviceType">An object that specifies the type of service object to get. </param>
+        <member name="E:Castle.MicroKernel.DefaultKernel.ComponentCreated">
+            <summary>
+            Pending
+            </summary>
+            <value></value>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.GetService``1">
-             <summary>
-             Gets the service object of the specified type.
-             </summary>
-            
-             <returns>
-             A service object of type serviceType.
-             </returns>
+        <member name="E:Castle.MicroKernel.DefaultKernel.ComponentDestroyed">
+            <summary>
+            Pending
+            </summary>
+            <value></value>
         </member>
-        <member name="M:Castle.MicroKernel.DefaultKernel.Dispose">
+        <member name="E:Castle.MicroKernel.DefaultKernel.AddedAsChildKernel">
             <summary>
-            Starts the process of component disposal.
+            Pending
             </summary>
+            <value></value>
         </member>
-        <member name="P:Castle.MicroKernel.DefaultKernel.GraphNodes">
+        <member name="E:Castle.MicroKernel.DefaultKernel.RemovedAsChildKernel">
             <summary>
-            Graph of components and iteractions.
+            Pending
+            </summary>
+        </member>
+        <member name="E:Castle.MicroKernel.DefaultKernel.ComponentModelCreated">
+            <summary>
+            Pending
             </summary>
+            <value></value>
         </member>
         <member name="T:Castle.MicroKernel.ComponentDataDelegate">
             <summary>
trunk/build/lib/app/castle/Castle.Windsor.dll
Binary file
trunk/build/lib/app/castle/Castle.Windsor.xml
@@ -239,6 +239,13 @@
             </code>
             </example>
         </member>
+        <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.DefaultElementProcessor.Process(Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorNodeList,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
+            <summary>
+            Processes the specified node list.
+            </summary>
+            <param name="nodeList">The node list.</param>
+            <param name="engine">The engine.</param>
+        </member>
         <member name="M:Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors.DefaultElementProcessor.ProcessAttributes(System.Xml.XmlElement,Castle.Windsor.Configuration.Interpreters.XmlProcessor.IXmlProcessorEngine)">
             <summary>
             Processes element attributes.
@@ -523,11 +530,6 @@
             <param name="container">Target container</param>
             <param name="store">Configuration store</param>
         </member>
-        <member name="M:Castle.Windsor.Installer.DefaultComponentInstaller.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Castle.Windsor.Installer.DefaultComponentInstaller"/> class.
-            </summary>
-        </member>
         <member name="M:Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(Castle.Windsor.IWindsorContainer,Castle.MicroKernel.IConfigurationStore)">
             <summary>
             Perform installation.
@@ -535,12 +537,13 @@
             <param name="container">Target container</param>
             <param name="store">Configuration store</param>
         </member>
-        <member name="M:Castle.Windsor.Proxy.AbstractProxyFactory.ObtainInterceptors(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
+        <member name="M:Castle.Windsor.Proxy.AbstractProxyFactory.ObtainInterceptors(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel,Castle.MicroKernel.CreationContext)">
             <summary>
             Obtains the interceptors associated with the component.
             </summary>
             <param name="kernel">The kernel instance</param>
             <param name="model">The component model</param>
+            <param name="context">The creation context</param>
             <returns>interceptors array</returns>
         </member>
         <member name="T:Castle.Windsor.Proxy.DefaultProxyFactory">
@@ -560,7 +563,7 @@
             Constructs a DefaultProxyFactory
             </summary>
         </member>
-        <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,System.Object[])">
+        <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.Create(Castle.MicroKernel.IKernel,System.Object,Castle.Core.ComponentModel,Castle.MicroKernel.CreationContext,System.Object[])">
             <summary>
             Creates the proxy for the supplied component.
             </summary>
@@ -568,6 +571,7 @@
             <param name="target">The target.</param>
             <param name="model">The model.</param>
             <param name="constructorArguments">The constructor arguments.</param>
+            <param name="context">The creation context</param>
             <returns>The component proxy.</returns>
         </member>
         <member name="M:Castle.Windsor.Proxy.DefaultProxyFactory.RequiresTargetInstance(Castle.MicroKernel.IKernel,Castle.Core.ComponentModel)">
@@ -582,8 +586,6 @@
             <summary>
             Gets the environment information (name). Implementors should 
             use to define their environments and how those affect the configuration.
-            It is also used by the <see cref="T:Castle.Windsor.Configuration.Interpreters.XmlInterpreter"/>
-            to define a flag with the environment name.
             </summary>
         </member>
         <member name="M:Castle.Windsor.IEnvironmentInfo.GetEnvironmentName">
@@ -613,6 +615,24 @@
             <param name="key"></param>
             <returns></returns>
         </member>
+        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1(System.String,System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1(System.String,System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1">
             <summary>
             Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
@@ -620,6 +640,22 @@
             <typeparam name="T">The facility type.</typeparam>
             <returns></returns>
         </member>
+        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1(System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.Windsor.IWindsorContainer.AddFacility``1(System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.Windsor.IWindsorContainer.AddComponent(System.String,System.Type)">
             <summary>
             Adds a component to be managed by the container
@@ -754,7 +790,7 @@
             <param name="key"></param>		
             <param name="extendedProperties"></param>
         </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(System.Collections.IDictionary)">
+        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentProperties``2(System.Collections.IDictionary)">
             <summary>
             Adds a concrete class and an interface 
             as a component and specify the extended properties.
@@ -765,7 +801,7 @@
             <typeparam name="T"></typeparam>
             <param name="extendedProperties"></param>
         </member>
-        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentLifeStyle``2(System.String,System.Collections.IDictionary)">
+        <member name="M:Castle.Windsor.IWindsorContainer.AddComponentProperties``2(System.String,System.Collections.IDictionary)">
             <summary>
             Adds a concrete class and an interface 
             as a component and specify the extended properties.
@@ -780,9 +816,16 @@
             <summary>
             Registers the components provided by the <see cref="T:Castle.MicroKernel.Registration.IRegistration"/>s
             with the <see cref="T:Castle.Windsor.IWindsorContainer"/>.
+            <para/>
+            Create a new registration using <see cref="T:Castle.MicroKernel.Registration.Component"/>.For() or <see cref="T:Castle.MicroKernel.Registration.AllTypes"/>.
+            </summary>
+            <example>
+            <code>
+            container.Register(Component.For&lt;IService&gt;().ImplementedBy&lt;DefaultService&gt;());
+            </code>
+            </example>
             <param name="registrations">The component registrations.</param>
             <returns>The container.</returns>
-            </summary>
         </member>
         <member name="M:Castle.Windsor.IWindsorContainer.Install(Castle.Windsor.IWindsorInstaller[])">
             <summary>
@@ -1059,7 +1102,7 @@
             </summary>
             <remarks>
             This constructs sets the Kernel.ProxyFactory property to
-            <see cref="T:Castle.Windsor.Proxy.DefaultProxyFactory"/>
+            <c>Proxy.DefaultProxyFactory</c>
             </remarks>
             <param name="kernel">Kernel instance</param>
             <param name="installer">Installer instance</param>
@@ -1071,7 +1114,7 @@
             </summary>
             <remarks>
             This constructs sets the Kernel.ProxyFactory property to
-            <see cref="T:Castle.Windsor.Proxy.DefaultProxyFactory"/>
+            <c>Proxy.DefaultProxyFactory</c>
             </remarks>
             <param name="name">Container's name</param>
             <param name="kernel">Kernel instance</param>
@@ -1114,6 +1157,24 @@
             <param name="key"></param>
             <returns></returns>
         </member>
+        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1(System.String,System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1(System.String,System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="key"></param>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1">
             <summary>
             Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
@@ -1121,6 +1182,22 @@
             <typeparam name="T">The facility type.</typeparam>
             <returns></returns>
         </member>
+        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1(System.Action{``0})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Castle.Windsor.WindsorContainer.AddFacility``1(System.Func{``0,System.Object})">
+            <summary>
+            Creates and adds an <see cref="T:Castle.MicroKernel.IFacility"/> facility to the container.
+            </summary>
+            <typeparam name="T">The facility type.</typeparam>
+            <param name="onCreate">The callback for creation.</param>
+            <returns></returns>
+        </member>
         <member name="M:Castle.Windsor.WindsorContainer.AddComponent(System.String,System.Type)">
             <summary>
             Adds a component to be managed by the container
@@ -1235,7 +1312,7 @@
             <param name="key"></param>		
             <param name="extendedProperties"></param>
         </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(System.Collections.IDictionary)">
+        <member name="M:Castle.Windsor.WindsorContainer.AddComponentProperties``2(System.Collections.IDictionary)">
             <summary>
             Adds a concrete class and an interface 
             as a component and specify the extended properties.
@@ -1246,7 +1323,7 @@
             <typeparam name="T"></typeparam>
             <param name="extendedProperties"></param>
         </member>
-        <member name="M:Castle.Windsor.WindsorContainer.AddComponentLifeStyle``2(System.String,System.Collections.IDictionary)">
+        <member name="M:Castle.Windsor.WindsorContainer.AddComponentProperties``2(System.String,System.Collections.IDictionary)">
             <summary>
             Adds a concrete class and an interface 
             as a component and specify the extended properties.
trunk/build/lib/app/jetbrains/JetBrains.Annotations.dll
Binary file
trunk/build/lib/app/jetbrains/JetBrains.Annotations.pdb
Binary file
trunk/build/lib/app/jetbrains/JetBrains.Annotations.xml
@@ -130,5 +130,15 @@
             Gets enumerations of specified base types
             </summary>
         </member>
+        <member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
+            <summary>
+            Indicates that the marked symbol is used implicitly (ex. reflection, external library), so this symbol will not be marked as unused (as well as by other usage inspections)
+            </summary>
+        </member>
+        <member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
+            <summary>
+            Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
+            </summary>
+        </member>
     </members>
 </doc>
trunk/build/lib/app/jpboodhoo/jpboodhoo.bdd.dll
Binary file
trunk/build/lib/app/jpboodhoo/jpboodhoo.commons.core.infrastructure.dll
Binary file
trunk/src/MyMoney/Domain/Core/Clock.cs
@@ -16,6 +16,11 @@ namespace MyMoney.Domain.Core
             return time_provider();
         }
 
+        public static DateTime now()
+        {
+            return time_provider();
+        }
+
 #if DEBUG
         public static void change_time_provider_to(Func<DateTime> new_time_provider)
         {
trunk/src/MyMoney/Infrastructure/Container/Windsor/configuration/component_exclusion_specification.cs → trunk/src/MyMoney/Infrastructure/Container/Windsor/configuration/ComponentExclusionSpecification.cs
@@ -3,7 +3,7 @@ using MyMoney.Utility.Extensions;
 
 namespace MyMoney.Infrastructure.Container.Windsor.configuration
 {
-    public class component_exclusion_specification : IComponentExclusionSpecification
+    public class ComponentExclusionSpecification : IComponentExclusionSpecification
     {
         public bool is_satisfied_by(Type type)
         {
trunk/src/MyMoney/Infrastructure/Container/Windsor/configuration/component_registration_configuration.cs → trunk/src/MyMoney/Infrastructure/Container/Windsor/configuration/ComponentRegistrationConfiguration.cs
@@ -8,7 +8,7 @@ namespace MyMoney.Infrastructure.Container.Windsor.configuration
     {
     }
 
-    public class component_registration_configuration : IRegistrationConfiguration
+    public class ComponentRegistrationConfiguration : IRegistrationConfiguration
     {
         public void configure(ComponentRegistration registration)
         {
trunk/src/MyMoney/Infrastructure/Container/Windsor/windsor_dependency_registry.cs
@@ -10,7 +10,7 @@ namespace MyMoney.Infrastructure.Container.Windsor
     {
         readonly IWindsorContainer underlying_container;
 
-        public windsor_dependency_registry() : this(new windsor_container_factory())
+        public windsor_dependency_registry() : this(new WindsorContainerFactory())
         {
         }
 
trunk/src/MyMoney/Infrastructure/Container/Windsor/windsor_container_factory.cs → trunk/src/MyMoney/Infrastructure/Container/Windsor/WindsorContainerFactory.cs
@@ -9,20 +9,20 @@ namespace MyMoney.Infrastructure.Container.Windsor
     {
     }
 
-    public class windsor_container_factory : IWindsorContainerFactory
+    public class WindsorContainerFactory : IWindsorContainerFactory
     {
         static IWindsorContainer container;
         static readonly object mutex = new object();
         readonly IComponentExclusionSpecification criteria_to_satisfy;
         readonly IRegistrationConfiguration configuration;
 
-        public windsor_container_factory()
-            : this(new component_exclusion_specification(), new component_registration_configuration())
+        public WindsorContainerFactory()
+            : this(new ComponentExclusionSpecification(), new ComponentRegistrationConfiguration())
         {
         }
 
-        public windsor_container_factory(IComponentExclusionSpecification criteria_to_satisfy,
-                                         IRegistrationConfiguration configuration)
+        public WindsorContainerFactory(IComponentExclusionSpecification criteria_to_satisfy,
+                                       IRegistrationConfiguration configuration)
         {
             this.criteria_to_satisfy = criteria_to_satisfy;
             this.configuration = configuration;
@@ -53,7 +53,7 @@ namespace MyMoney.Infrastructure.Container.Windsor
                     .WithService
                     .FirstInterface()
                     .Unless(criteria_to_satisfy.is_satisfied_by)
-                    .Configure(configuration.configure)
+                    .Configure(x => configuration.configure(x))
                 );
             return the_container;
         }
trunk/src/MyMoney/Infrastructure/debugging/Launch.cs
@@ -0,0 +1,21 @@
+using System.Diagnostics;
+
+namespace MyMoney.Infrastructure.debugging
+{
+    public static class Launch
+    {
+        public static void the_debugger()
+        {
+#if DEBUG
+            if (Debugger.IsAttached)
+            {
+                Debugger.Break();
+            }
+            else
+            {
+                Debugger.Launch();
+            }
+#endif
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Infrastructure/eventing/IEvent.cs
@@ -1,5 +1,6 @@
 namespace MyMoney.Infrastructure.eventing
 {
     public interface IEvent
-    {}
+    {
+    }
 }
\ No newline at end of file
trunk/src/MyMoney/Presentation/Context/the_application_context_specs.cs
@@ -21,12 +21,12 @@ namespace MyMoney.Presentation.Context
 
         context c = () =>
                         {
-                            shell_view = dependency<window_shell>();
+                            shell_view = dependency<ApplicationShell>();
                             exit_command = an<IExitCommand>();
                             load_application = an<ILoadApplicationShellCommand>();
                         };
 
-        protected static window_shell shell_view;
+        protected static ApplicationShell shell_view;
         protected static IExitCommand exit_command;
         protected static ILoadApplicationShellCommand load_application;
     }
trunk/src/MyMoney/Presentation/Core/IPresentationModule.cs
@@ -0,0 +1,6 @@
+namespace MyMoney.Presentation.Core
+{
+    public interface IPresentationModule : IPresenter
+    {
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Model/Menu/window/window_menu.cs
@@ -4,7 +4,8 @@ using MyMoney.Presentation.Model.Menu.File.Commands;
 namespace MyMoney.Presentation.Model.Menu.window
 {
     public interface IWindowMenu : ISubMenu
-    {}
+    {
+    }
 
     public class window_menu : IWindowMenu
     {
trunk/src/MyMoney/Presentation/Presenters/Commands/load_application_shell.cs → trunk/src/MyMoney/Presentation/Presenters/Commands/LoadApplicationShell.cs
@@ -1,5 +1,4 @@
 using MyMoney.Presentation.Core;
-using MyMoney.Presentation.Presenters.Shell;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Utility.Core;
 using MyMoney.Utility.Extensions;
@@ -10,13 +9,13 @@ namespace MyMoney.Presentation.Presenters.Commands
     {
     }
 
-    public class load_application_shell : ILoadApplicationShellCommand
+    public class LoadApplicationShell : ILoadApplicationShellCommand
     {
         readonly IShell shell;
         readonly IPresenterRegistry registry;
         readonly IApplicationController controller;
 
-        public load_application_shell(IPresenterRegistry registry, IApplicationController controller, IShell shell)
+        public LoadApplicationShell(IPresenterRegistry registry, IApplicationController controller, IShell shell)
         {
             this.registry = registry;
             this.shell = shell;
trunk/src/MyMoney/Presentation/Presenters/Menu/main_menu_presenter.cs
@@ -1,5 +1,5 @@
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Model.Menu;
-using MyMoney.Presentation.Presenters.Shell;
 using MyMoney.Presentation.Views.Menu;
 using MyMoney.Utility.Extensions;
 
trunk/src/MyMoney/Presentation/Presenters/Navigation/action_tasks_presenter.cs → trunk/src/MyMoney/Presentation/Presenters/Navigation/MainMenuPresenter.cs
@@ -1,20 +1,20 @@
 using MyMoney.Domain.Core;
-using MyMoney.Presentation.Presenters.Shell;
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Views.Navigation;
 using MyMoney.Utility.Extensions;
 
 namespace MyMoney.Presentation.Presenters.Navigation
 {
-    public interface IActionTasksPresenter : IPresentationModule
+    public interface IMainMenuPresenter : IPresentationModule
     {
     }
 
-    public class action_tasks_presenter : IActionTasksPresenter
+    public class MainMenuPresenter : IMainMenuPresenter
     {
-        readonly IActionsTaskView view;
+        readonly IMainMenuView view;
         readonly IRegistry<IActionTaskPaneFactory> registry;
 
-        public action_tasks_presenter(IActionsTaskView view, IRegistry<IActionTaskPaneFactory> registry)
+        public MainMenuPresenter(IMainMenuView view, IRegistry<IActionTaskPaneFactory> registry)
         {
             this.view = view;
             this.registry = registry;
trunk/src/MyMoney/Presentation/Presenters/Navigation/navigation_presenter.cs
@@ -1,28 +0,0 @@
-using MyMoney.Presentation.Core;
-using MyMoney.Presentation.Model.Navigation;
-using MyMoney.Presentation.Views.Navigation;
-
-namespace MyMoney.Presentation.Presenters.Navigation
-{
-    //public interface INavigationPresenter : IApplicationShellPresenter
-    public interface INavigationPresenter : IPresenter
-    {
-    }
-
-    public class navigation_presenter : INavigationPresenter
-    {
-        private readonly INavigationView view;
-        private readonly INavigationTreeVisitor tree_view_visitor;
-
-        public navigation_presenter(INavigationView view, INavigationTreeVisitor tree_view_visitor)
-        {
-            this.view = view;
-            this.tree_view_visitor = tree_view_visitor;
-        }
-
-        public void run()
-        {
-            view.accept(tree_view_visitor);
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Navigation/navigation_presenter_specs.cs
@@ -7,8 +7,8 @@ using MyMoney.Testing.spechelpers.core;
 
 namespace MyMoney.Presentation.Presenters.Navigation
 {
-    [Concern(typeof (navigation_presenter))]
-    public class when_building_the_navigation_tree : concerns_for<INavigationPresenter, navigation_presenter>
+    [Concern(typeof (NavigationPresenter))]
+    public class when_building_the_navigation_tree : concerns_for<INavigationPresenter, NavigationPresenter>
     {
         it should_visit_the_root_node_of_the_tree = () => view.was_told_to(x => x.accept(tree_view_visitor));
 
@@ -22,7 +22,7 @@ namespace MyMoney.Presentation.Presenters.Navigation
 
         public override INavigationPresenter create_sut()
         {
-            return new navigation_presenter(view, tree_view_visitor);
+            return new NavigationPresenter(view, tree_view_visitor);
         }
 
         static INavigationView view;
trunk/src/MyMoney/Presentation/Presenters/Navigation/NavigationPresenter.cs
@@ -0,0 +1,27 @@
+using MyMoney.Presentation.Core;
+using MyMoney.Presentation.Model.Navigation;
+using MyMoney.Presentation.Views.Navigation;
+
+namespace MyMoney.Presentation.Presenters.Navigation
+{
+    public interface INavigationPresenter : IPresentationModule
+    {
+    }
+
+    public class NavigationPresenter : INavigationPresenter
+    {
+        readonly INavigationView view;
+        readonly INavigationTreeVisitor tree_view_visitor;
+
+        public NavigationPresenter(INavigationView view, INavigationTreeVisitor tree_view_visitor)
+        {
+            this.view = view;
+            this.tree_view_visitor = tree_view_visitor;
+        }
+
+        public void run()
+        {
+            view.accept(tree_view_visitor);
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/IPresentationModule.cs
@@ -1,8 +0,0 @@
-using MyMoney.Presentation.Core;
-
-namespace MyMoney.Presentation.Presenters.Shell
-{
-    public interface IPresentationModule : IPresenter
-    {
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/load_application_shell_specs.cs
@@ -8,8 +8,8 @@ using MyMoney.Testing.spechelpers.core;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
-    [Concern(typeof (load_application_shell))]
-    public class when_loading_the_application_shell : concerns_for<ILoadApplicationShellCommand, load_application_shell>
+    [Concern(typeof (LoadApplicationShell))]
+    public class when_loading_the_application_shell : concerns_for<ILoadApplicationShellCommand, LoadApplicationShell>
     {
         it should_initialize_all_the_application_shell_presenters =
             () => controller.was_told_to(x => x.run(correct_presenter));
@@ -35,7 +35,7 @@ namespace MyMoney.Presentation.Presenters.Shell
 
         public override ILoadApplicationShellCommand create_sut()
         {
-            return new load_application_shell(registry, controller, shell);
+            return new LoadApplicationShell(registry, controller, shell);
         }
 
         static IPresenterRegistry registry;
trunk/src/MyMoney/Presentation/Presenters/Shell/notification_icon_presenter.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/NotificationIconPresenter.cs
@@ -1,5 +1,6 @@
 using Castle.Core;
 using MyMoney.Infrastructure.eventing;
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Model.messages;
 using MyMoney.Presentation.Resources;
 using MyMoney.Presentation.Views.Shell;
@@ -13,12 +14,12 @@ namespace MyMoney.Presentation.Presenters.Shell
     }
 
     [Singleton]
-    public class notification_icon_presenter : INotificationIconPresenter
+    public class NotificationIconPresenter : INotificationIconPresenter
     {
         readonly INotificationIconView view;
         readonly IEventAggregator broker;
 
-        public notification_icon_presenter(INotificationIconView view, IEventAggregator broker)
+        public NotificationIconPresenter(INotificationIconView view, IEventAggregator broker)
         {
             this.view = view;
             this.broker = broker;
trunk/src/MyMoney/Presentation/Presenters/Shell/notification_icon_presenter_specs.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/NotificationIconPresenterSpecs.cs
@@ -8,12 +8,12 @@ using MyMoney.Testing.spechelpers.core;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
-    [Concern(typeof (notification_icon_presenter))]
-    public abstract class behaves_like_notification_icon_presenter : concerns_for<INotificationIconPresenter, notification_icon_presenter>
+    [Concern(typeof (NotificationIconPresenter))]
+    public abstract class behaves_like_notification_icon_presenter : concerns_for<INotificationIconPresenter, NotificationIconPresenter>
     {
         public override INotificationIconPresenter create_sut()
         {
-            return new notification_icon_presenter(view, broker);
+            return new NotificationIconPresenter(view, broker);
         }
 
         context c = () =>
trunk/src/MyMoney/Presentation/Presenters/Shell/status_bar_presenter.cs
@@ -1,24 +0,0 @@
-using MyMoney.Presentation.Resources;
-using MyMoney.Presentation.Views.Shell;
-
-namespace MyMoney.Presentation.Presenters.Shell
-{
-    public interface IStatusBarPresenter : IPresentationModule
-    {
-    }
-
-    public class status_bar_presenter : IStatusBarPresenter
-    {
-        readonly IStatusBarView view;
-
-        public status_bar_presenter(IStatusBarView view)
-        {
-            this.view = view;
-        }
-
-        public void run()
-        {
-            view.Display(ApplicationIcons.ApplicationReady, "Ready");
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/status_bar_presenter_specs.cs
@@ -1,27 +0,0 @@
-using jpboodhoo.bdd.contexts;
-using MyMoney.Presentation.Resources;
-using MyMoney.Presentation.Views.Shell;
-using MyMoney.Testing.MetaData;
-using MyMoney.Testing.spechelpers.contexts;
-using MyMoney.Testing.spechelpers.core;
-
-namespace MyMoney.Presentation.Presenters.Shell
-{
-    [Concern(typeof (status_bar_presenter))]
-    public class when_initializing_the_status_bar : concerns_for<IStatusBarPresenter, status_bar_presenter>
-    {
-        it should_display_a_ready_message =
-            () => view.was_told_to(v => v.Display(ApplicationIcons.ApplicationReady, "Ready"));
-
-        context c = () => { view = an<IStatusBarView>(); };
-
-        because b = () => sut.run();
-
-        public override IStatusBarPresenter create_sut()
-        {
-            return new status_bar_presenter(view);
-        }
-
-        static IStatusBarView view;
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/StatusBarPresenter.cs
@@ -0,0 +1,51 @@
+using MyMoney.Domain.Core;
+using MyMoney.Infrastructure.eventing;
+using MyMoney.Presentation.Core;
+using MyMoney.Presentation.Model.messages;
+using MyMoney.Presentation.Resources;
+using MyMoney.Presentation.Views.Shell;
+using MyMoney.Utility.Extensions;
+
+namespace MyMoney.Presentation.Presenters.Shell
+{
+    public interface IStatusBarPresenter : IPresentationModule,
+                                           IEventSubscriber<saved_changes_event>,
+                                           IEventSubscriber<new_project_opened>,
+                                           IEventSubscriber<closing_the_application>
+    {
+    }
+
+    public class StatusBarPresenter : IStatusBarPresenter
+    {
+        readonly IStatusBarView view;
+        readonly IEventAggregator broker;
+
+        public StatusBarPresenter(IStatusBarView view, IEventAggregator broker)
+        {
+            this.view = view;
+            this.broker = broker;
+        }
+
+        public void run()
+        {
+            broker.subscribe_to<saved_changes_event>(this);
+            broker.subscribe_to<new_project_opened>(this);
+            broker.subscribe_to<closing_the_application>(this);
+        }
+
+        public void notify(saved_changes_event message)
+        {
+            view.display(ApplicationIcons.ApplicationReady, "Last Saved: {0}".formatted_using(Clock.now()));
+        }
+
+        public void notify(new_project_opened message)
+        {
+            view.display(ApplicationIcons.ApplicationReady, "Ready");
+        }
+
+        public void notify(closing_the_application message)
+        {
+            view.display(ApplicationIcons.Empty, "Good Bye!");
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/StatusBarPresenterSpecs.cs
@@ -0,0 +1,34 @@
+using jpboodhoo.bdd.contexts;
+using MyMoney.Infrastructure.eventing;
+using MyMoney.Presentation.Model.messages;
+using MyMoney.Presentation.Resources;
+using MyMoney.Presentation.Views.Shell;
+using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
+using MyMoney.Testing.spechelpers.core;
+
+namespace MyMoney.Presentation.Presenters.Shell
+{
+    [Concern(typeof (StatusBarPresenter))]
+    public class when_initializing_the_status_bar : concerns_for<IStatusBarPresenter, StatusBarPresenter>
+    {
+        it should_display_a_ready_message =
+            () => view.was_told_to(v => v.display(ApplicationIcons.ApplicationReady, "Ready"));
+
+        context c = () =>
+                        {
+                            view = the_dependency<IStatusBarView>();
+                            broker = the_dependency<IEventAggregator>();
+                        };
+
+        because b = () => sut.notify(new new_project_opened(""));
+
+        public override IStatusBarPresenter create_sut()
+        {
+            return new StatusBarPresenter(view, broker);
+        }
+
+        static IStatusBarView view;
+        static IEventAggregator broker;
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Presenters/Shell/task_tray_presenter.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/TaskTrayPresenter.cs
@@ -1,5 +1,6 @@
 using Castle.Core;
 using MyMoney.Infrastructure.eventing;
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Model.messages;
 using MyMoney.Presentation.Views.Shell;
 
@@ -12,12 +13,12 @@ namespace MyMoney.Presentation.Presenters.Shell
     }
 
     [Singleton]
-    public class task_tray_presenter : ITaskTrayPresenter
+    public class TaskTrayPresenter : ITaskTrayPresenter
     {
         readonly ITaskTrayMessageView view;
         readonly IEventAggregator broker;
 
-        public task_tray_presenter(ITaskTrayMessageView view, IEventAggregator broker)
+        public TaskTrayPresenter(ITaskTrayMessageView view, IEventAggregator broker)
         {
             this.view = view;
             this.broker = broker;
trunk/src/MyMoney/Presentation/Presenters/Shell/title_bar_presenter.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/TitleBarPresenter.cs
@@ -1,5 +1,6 @@
 using Castle.Core;
 using MyMoney.Infrastructure.eventing;
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Model.messages;
 using MyMoney.Presentation.Model.Projects;
 using MyMoney.Presentation.Views.Shell;
@@ -14,13 +15,13 @@ namespace MyMoney.Presentation.Presenters.Shell
     }
 
     [Singleton]
-    public class title_bar_presenter : ITitleBarPresenter
+    public class TitleBarPresenter : ITitleBarPresenter
     {
         readonly ITitleBar view;
         readonly IProject project;
         readonly IEventAggregator broker;
 
-        public title_bar_presenter(ITitleBar view, IProject project, IEventAggregator broker)
+        public TitleBarPresenter(ITitleBar view, IProject project, IEventAggregator broker)
         {
             this.view = view;
             this.project = project;
trunk/src/MyMoney/Presentation/Presenters/Shell/title_bar_presenter_specs.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/TitleBarPresenterSpecs.cs
@@ -9,12 +9,12 @@ using MyMoney.Testing.spechelpers.core;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
-    [Concern(typeof (title_bar_presenter))]
-    public class behaves_like_a_title_bar_presenter : concerns_for<ITitleBarPresenter, title_bar_presenter>
+    [Concern(typeof (TitleBarPresenter))]
+    public class behaves_like_a_title_bar_presenter : concerns_for<ITitleBarPresenter, TitleBarPresenter>
     {
         public override ITitleBarPresenter create_sut()
         {
-            return new title_bar_presenter(view, project, broker);
+            return new TitleBarPresenter(view, project, broker);
         }
 
         context c = () =>
trunk/src/MyMoney/Presentation/Presenters/Shell/tool_bar_presenter.cs → trunk/src/MyMoney/Presentation/Presenters/Shell/ToolBarPresenter.cs
@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Windows.Forms;
+using MyMoney.Presentation.Core;
 using MyMoney.Presentation.Model.Menu;
 using MyMoney.Presentation.Model.Menu.File.Commands;
 using MyMoney.Presentation.Resources;
@@ -12,11 +13,11 @@ namespace MyMoney.Presentation.Presenters.Shell
     {
     }
 
-    public class tool_bar_presenter : IToolbarPresenter
+    public class ToolBarPresenter : IToolbarPresenter
     {
         readonly IShell shell;
 
-        public tool_bar_presenter(IShell shell)
+        public ToolBarPresenter(IShell shell)
         {
             this.shell = shell;
         }
trunk/src/MyMoney/Presentation/Views/core/ApplicationDockedWindow.cs
@@ -1,5 +1,6 @@
 using System.Linq;
 using System.Windows.Forms;
+using MyMoney.Infrastructure.debugging;
 using MyMoney.Presentation.Resources;
 using WeifenLuo.WinFormsUI.Docking;
 
@@ -22,7 +23,7 @@ namespace MyMoney.Presentation.Views.core
         {
             InitializeComponent();
             Icon = ApplicationIcons.Application;
-            dock_state = DockState.Unknown;
+            dock_state = DockState.Document;
         }
 
         public IApplicationDockedWindow create_tool_tip_for(string title, string caption, Control control)
@@ -58,6 +59,7 @@ namespace MyMoney.Presentation.Views.core
 
         public void add_to(DockPanel panel)
         {
+            Launch.the_debugger();
             if (window_is_already_contained_in(panel))
             {
                 remove_from(panel);
trunk/src/MyMoney/Presentation/Views/core/IDockedContentView.cs
@@ -1,5 +1,3 @@
-using System;
-using System.ComponentModel;
 using WeifenLuo.WinFormsUI.Docking;
 
 namespace MyMoney.Presentation.Views.core
trunk/src/MyMoney/Presentation/Views/dialogs/save_changes_view.cs → trunk/src/MyMoney/Presentation/Views/dialogs/SaveChangesView.cs
@@ -6,11 +6,11 @@ using MyMoney.Presentation.Views.core;
 
 namespace MyMoney.Presentation.Views.dialogs
 {
-    public partial class save_changes_view : ApplicationWindow, ISaveChangesView
+    public partial class SaveChangesView : ApplicationWindow, ISaveChangesView
     {
         bool can_be_closed;
 
-        public save_changes_view()
+        public SaveChangesView()
         {
             InitializeComponent();
             ux_image.Image = ApplicationImages.Splash;
trunk/src/MyMoney/Presentation/Views/dialogs/save_changes_view.Designer.cs → trunk/src/MyMoney/Presentation/Views/dialogs/SaveChangesView.Designer.cs
@@ -1,6 +1,6 @@
 namespace MyMoney.Presentation.Views.dialogs
 {
-public    partial class save_changes_view
+public    partial class SaveChangesView
     {
         /// <summary>
         /// Required designer variable.
trunk/src/MyMoney/Presentation/Views/dialogs/save_changes_view.resx → trunk/src/MyMoney/Presentation/Views/dialogs/SaveChangesView.resx
File renamed without changes
trunk/src/MyMoney/Presentation/Views/income/add_new_income_view.cs → trunk/src/MyMoney/Presentation/Views/income/AddNewIncomeView.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Text;
 using System.Windows.Forms;
 using MyMoney.Domain.accounting.billing;
@@ -10,9 +10,9 @@ using MyMoney.Utility.Extensions;
 
 namespace MyMoney.Presentation.Views.income
 {
-    public partial class add_new_income_view : ApplicationDockedWindow, IAddNewIncomeView
+    public partial class AddNewIncomeView : ApplicationDockedWindow, IAddNewIncomeView
     {
-        public add_new_income_view()
+        public AddNewIncomeView()
         {
             InitializeComponent();
             titled("Add Income");
trunk/src/MyMoney/Presentation/Views/income/add_new_income_view.Designer.cs → trunk/src/MyMoney/Presentation/Views/income/AddNewIncomeView.Designer.cs
@@ -1,6 +1,6 @@
-namespace MyMoney.Presentation.Views.income
+namespace MyMoney.Presentation.Views.income
 {
-    partial class add_new_income_view
+    partial class AddNewIncomeView
     {
         /// <summary>
         /// Required designer variable.
@@ -28,7 +28,7 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(add_new_income_view));
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddNewIncomeView));
             this.kryptonHeaderGroup1 = new ComponentFactory.Krypton.Toolkit.KryptonHeaderGroup();
             this.kryptonSplitContainer1 = new ComponentFactory.Krypton.Toolkit.KryptonSplitContainer();
             this.kryptonLabel2 = new ComponentFactory.Krypton.Toolkit.KryptonLabel();
trunk/src/MyMoney/Presentation/Views/income/add_new_income_view.resx → trunk/src/MyMoney/Presentation/Views/income/AddNewIncomeView.resx
File renamed without changes
trunk/src/MyMoney/Presentation/Views/income/view_all_income.cs → trunk/src/MyMoney/Presentation/Views/income/ViewAllIncome.cs
@@ -1,13 +1,13 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 using MyMoney.Presentation.Presenters.income.dto;
 using MyMoney.Presentation.Views.core;
 using MyMoney.Utility.Extensions;
 
 namespace MyMoney.Presentation.Views.income
 {
-    public partial class view_all_income : ApplicationDockedWindow, IViewIncomeHistory
+    public partial class ViewAllIncome : ApplicationDockedWindow, IViewIncomeHistory
     {
-        public view_all_income()
+        public ViewAllIncome()
         {
             InitializeComponent();
             titled("View All Income");
trunk/src/MyMoney/Presentation/Views/income/view_all_income.Designer.cs → trunk/src/MyMoney/Presentation/Views/income/ViewAllIncome.Designer.cs
@@ -1,6 +1,6 @@
-namespace MyMoney.Presentation.Views.income
+namespace MyMoney.Presentation.Views.income
 {
-    partial class view_all_income
+    partial class ViewAllIncome
     {
         /// <summary>
         /// Required designer variable.
@@ -28,7 +28,7 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(view_all_income));
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ViewAllIncome));
             this.ux_view_all_income = new ComponentFactory.Krypton.Toolkit.KryptonDataGridView();
             this.kryptonHeaderGroup1 = new ComponentFactory.Krypton.Toolkit.KryptonHeaderGroup();
             ((System.ComponentModel.ISupportInitialize)(this.ux_view_all_income)).BeginInit();
trunk/src/MyMoney/Presentation/Views/income/view_all_income.resx → trunk/src/MyMoney/Presentation/Views/income/ViewAllIncome.resx
File renamed without changes
trunk/src/MyMoney/Presentation/Views/Navigation/actions_task_list.cs → trunk/src/MyMoney/Presentation/Views/Navigation/MainMenuView.cs
@@ -1,4 +1,4 @@
-using MyMoney.Presentation.Resources;
+using MyMoney.Presentation.Resources;
 using MyMoney.Presentation.Views.core;
 using MyMoney.Presentation.Views.Shell;
 using WeifenLuo.WinFormsUI.Docking;
@@ -6,17 +6,17 @@ using XPExplorerBar;
 
 namespace MyMoney.Presentation.Views.Navigation
 {
-    public interface IActionsTaskView : IDockedContentView
+    public interface IMainMenuView : IDockedContentView
     {
         void display();
         void add(Expando expando);
     }
 
-    public partial class actions_task_list : ApplicationDockedWindow, IActionsTaskView
+    public partial class MainMenuView : ApplicationDockedWindow, IMainMenuView
     {
         readonly IShell shell;
 
-        public actions_task_list(IShell shell)
+        public MainMenuView(IShell shell)
         {
             InitializeComponent();
             this.shell = shell;
@@ -26,13 +26,12 @@ namespace MyMoney.Presentation.Views.Navigation
 
         void initialize_the_ui()
         {
-            titled("Actions Items")
+            titled("Main Menu")
                 .icon(ApplicationIcons.FileExplorer)
                 .cannot_be_closed()
                 .docked_to(DockState.DockLeft);
 
             ux_system_task_pane.UseClassicTheme();
-            //ux_system_task_pane.UseCustomTheme(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "itunes.dat"));
         }
 
         public void add(Expando expando)
trunk/src/MyMoney/Presentation/Views/Navigation/actions_task_list.Designer.cs → trunk/src/MyMoney/Presentation/Views/Navigation/MainMenuView.Designer.cs
@@ -1,6 +1,6 @@
-namespace MyMoney.Presentation.Views.Navigation
+namespace MyMoney.Presentation.Views.Navigation
 {
-    partial class actions_task_list
+    partial class MainMenuView
     {
         /// <summary>
         /// Required designer variable.
trunk/src/MyMoney/Presentation/Views/Navigation/actions_task_list.resx → trunk/src/MyMoney/Presentation/Views/Navigation/MainMenuView.resx
File renamed without changes
trunk/src/MyMoney/Presentation/Views/Shell/ApplicationShell.cs
@@ -0,0 +1,56 @@
+using System.ComponentModel.Composition;
+using System.Windows.Forms;
+using MyMoney.Presentation.Resources;
+using MyMoney.Presentation.Views.core;
+
+namespace MyMoney.Presentation.Views.Shell
+{
+    [Export(typeof (IShell))]
+    public partial class ApplicationShell : ApplicationWindow, IShell
+    {
+        public ApplicationShell()
+        {
+            InitializeComponent();
+            Icon = ApplicationIcons.Application;
+        }
+
+        public StatusStrip status_bar()
+        {
+            return ux_status_bar;
+        }
+
+        public void add(IDockedContentView view)
+        {
+            view.add_to(ux_dock_panel);
+        }
+
+        public void add_to_main_menu(ToolStripMenuItem item)
+        {
+            ux_main_menu_strip.Items.Add(item);
+        }
+
+        public void add_to_tool_bar(ToolStripItem item)
+        {
+            ux_tool_bar_strip.Items.Add(item);
+        }
+
+        public void close_the_active_window()
+        {
+            ux_dock_panel.ActiveDocument.DockHandler.Close();
+        }
+
+        public void close_all_windows()
+        {
+            while (ux_dock_panel.Contents.Count > 0)
+            {
+                ux_dock_panel.Contents[0].DockHandler.Close();
+            }
+        }
+
+        public void clear_menu_items()
+        {
+            ux_tool_bar_strip.Items.Clear();
+            ux_main_menu_strip.Items.Clear();
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Shell/window_shell.Designer.cs → trunk/src/MyMoney/Presentation/Views/Shell/ApplicationShell.Designer.cs
@@ -1,5 +1,5 @@
 namespace MyMoney.Presentation.Views.Shell {
-    partial class window_shell
+    partial class ApplicationShell
     {
         /// <summary>
         /// Required designer variable.
trunk/src/MyMoney/Presentation/Views/Shell/window_shell.resx → trunk/src/MyMoney/Presentation/Views/Shell/ApplicationShell.resx
File renamed without changes
trunk/src/MyMoney/Presentation/Views/Shell/INotificationIconView.cs
@@ -0,0 +1,12 @@
+using System;
+using MyMoney.Presentation.Resources;
+
+namespace MyMoney.Presentation.Views.Shell
+{
+    public interface INotificationIconView : IDisposable
+    {
+        void display(ApplicationIcon icon_to_display, string text_to_display);
+        void opened_new_project();
+        void show_popup_message(string message);
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Shell/IShell.cs
@@ -0,0 +1,18 @@
+using System.ComponentModel;
+using System.Windows.Forms;
+using MyMoney.Presentation.Views.core;
+
+namespace MyMoney.Presentation.Views.Shell
+{
+    public interface IShell : IWin32Window, ISynchronizeInvoke, IContainerControl, IBindableComponent, IDropTarget
+    {
+        StatusStrip status_bar();
+        void add(IDockedContentView view);
+        void add_to_main_menu(ToolStripMenuItem item);
+        void add_to_tool_bar(ToolStripItem item);
+        void close_the_active_window();
+        string Text { get; set; }
+        void close_all_windows();
+        void clear_menu_items();
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Shell/notification_icon_view.cs → trunk/src/MyMoney/Presentation/Views/Shell/NotificationIconView.cs
@@ -1,4 +1,3 @@
-using System;
 using System.Windows.Forms;
 using Castle.Core;
 using MyMoney.Presentation.Model.Menu;
@@ -9,14 +8,8 @@ using MyMoney.Presentation.Resources;
 
 namespace MyMoney.Presentation.Views.Shell
 {
-    public interface INotificationIconView : IDisposable
-    {
-        void display(ApplicationIcon icon_to_display, string text_to_display);
-        void opened_new_project();
-    }
-
     [Singleton]
-    public class notification_icon_view : INotificationIconView
+    public class NotificationIconView : INotificationIconView
     {
         NotifyIcon ux_notification_icon;
         readonly IFileMenu file_menu;
@@ -24,7 +17,7 @@ namespace MyMoney.Presentation.Views.Shell
         readonly IHelpMenu help_menu;
         bool hooked_up;
 
-        public notification_icon_view(IFileMenu file_menu, IWindowMenu window_menu, IHelpMenu help_menu)
+        public NotificationIconView(IFileMenu file_menu, IWindowMenu window_menu, IHelpMenu help_menu)
         {
             this.file_menu = file_menu;
             this.window_menu = window_menu;
@@ -64,6 +57,11 @@ namespace MyMoney.Presentation.Views.Shell
             ux_notification_icon.ShowBalloonTip(100, "If you need any help check out mokhan.ca", "", ToolTipIcon.Info);
         }
 
+        public void show_popup_message(string message)
+        {
+            ux_notification_icon.ShowBalloonTip(100, message, message, ToolTipIcon.Info);
+        }
+
         MenuItem map_from(ISubMenu item)
         {
             var toolStripMenuItem = new MenuItem(item.name);
trunk/src/MyMoney/Presentation/Views/Shell/IStatusBarView.cs → trunk/src/MyMoney/Presentation/Views/Shell/StatusBarView.cs
@@ -4,19 +4,19 @@ namespace MyMoney.Presentation.Views.Shell
 {
     public interface IStatusBarView
     {
-        void Display(HybridIcon icon_to_display, string text_to_display);
+        void display(HybridIcon icon_to_display, string text_to_display);
     }
 
     public class StatusBarView : IStatusBarView
     {
-        private readonly IShell shell;
+        readonly IShell shell;
 
         public StatusBarView(IShell shell)
         {
             this.shell = shell;
         }
 
-        public void Display(HybridIcon icon_to_display, string text_to_display)
+        public void display(HybridIcon icon_to_display, string text_to_display)
         {
             shell.status_bar().Items.Clear();
             shell.status_bar().Items.Add(icon_to_display);
trunk/src/MyMoney/Presentation/Views/Shell/task_tray_message.cs
@@ -1,20 +0,0 @@
-using System;
-
-namespace MyMoney.Presentation.Views.Shell
-{
-    public interface ITaskTrayMessageView
-    {
-        void display(string message, params object[] arguments);
-    }
-
-    public class task_tray_message : ITaskTrayMessageView, IDisposable
-    {
-        public void display(string message, params object[] arguments)
-        {
-        }
-
-        public void Dispose()
-        {
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Shell/TaskTrayMessage.cs
@@ -0,0 +1,29 @@
+using System;
+using MyMoney.Utility.Extensions;
+
+namespace MyMoney.Presentation.Views.Shell
+{
+    public interface ITaskTrayMessageView
+    {
+        void display(string message, params object[] arguments);
+    }
+
+    public class TaskTrayMessage : ITaskTrayMessageView, IDisposable
+    {
+        readonly INotificationIconView view;
+
+        public TaskTrayMessage(INotificationIconView view)
+        {
+            this.view = view;
+        }
+
+        public void display(string message, params object[] arguments)
+        {
+            view.show_popup_message(message.formatted_using(arguments));
+        }
+
+        public void Dispose()
+        {
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Shell/title_bar.cs → trunk/src/MyMoney/Presentation/Views/Shell/TitleBar.cs
@@ -7,11 +7,11 @@ namespace MyMoney.Presentation.Views.Shell
         void remove_asterik();
     }
 
-    public class title_bar : ITitleBar
+    public class TitleBar : ITitleBar
     {
         private readonly IShell shell;
 
-        public title_bar(IShell shell)
+        public TitleBar(IShell shell)
         {
             this.shell = shell;
         }
trunk/src/MyMoney/Presentation/Views/Shell/window_shell.cs
@@ -1,78 +0,0 @@
-using System.ComponentModel;
-using System.ComponentModel.Composition;
-using System.Linq;
-using System.Windows.Forms;
-using MyMoney.Presentation.Resources;
-using MyMoney.Presentation.Views.core;
-
-namespace MyMoney.Presentation.Views.Shell
-{
-    public interface IShell : IWin32Window, ISynchronizeInvoke, IContainerControl, IBindableComponent, IDropTarget
-    {
-        StatusStrip status_bar();
-        void add(IDockedContentView view);
-        void add_to_main_menu(ToolStripMenuItem item);
-        void add_to_tool_bar(ToolStripItem item);
-        void close_the_active_window();
-        string Text { get; set; }
-        void close_all_windows();
-        void clear_menu_items();
-    }
-
-    [Export(typeof(IShell))]
-    public partial class window_shell : Form, IShell
-    {
-        public window_shell()
-        {
-            InitializeComponent();
-            Icon = ApplicationIcons.Application;
-        }
-
-        public StatusStrip status_bar()
-        {
-            return ux_status_bar;
-        }
-
-        public void add(IDockedContentView view)
-        {
-            //var panel_to_remove = ux_dock_panel
-            //    .Documents
-            //    .SingleOrDefault(x => x.DockHandler.TabText.Equals(view.TabText));
-            //if (panel_to_remove != null) {
-            //    panel_to_remove.DockHandler.Close();
-            //    panel_to_remove.DockHandler.Dispose();
-            //}
-            //view.Show(ux_dock_panel);
-
-            view.add_to(ux_dock_panel);
-        }
-
-        public void add_to_main_menu(ToolStripMenuItem item)
-        {
-            ux_main_menu_strip.Items.Add(item);
-        }
-
-        public void add_to_tool_bar(ToolStripItem item)
-        {
-            ux_tool_bar_strip.Items.Add(item);
-        }
-
-        public void close_the_active_window()
-        {
-            ux_dock_panel.ActiveDocument.DockHandler.Close();
-        }
-
-        public void close_all_windows()
-        {
-            while (ux_dock_panel.Contents.Count > 0) {
-                ux_dock_panel.Contents[0].DockHandler.Close();
-            }
-        }
-
-        public void clear_menu_items()
-        {
-            ux_tool_bar_strip.Items.Clear();
-            ux_main_menu_strip.Items.Clear();
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Presentation/Views/Startup/splash_screen_view.cs
@@ -1,9 +1,10 @@
 using System.Windows.Forms;
 using MyMoney.Presentation.Resources;
+using MyMoney.Presentation.Views.core;
 
 namespace MyMoney.Presentation.Views.Startup
 {
-    public partial class splash_screen_view : Form, ISplashScreenView
+    public partial class splash_screen_view : ApplicationWindow, ISplashScreenView
     {
         public splash_screen_view()
         {
@@ -11,12 +12,13 @@ namespace MyMoney.Presentation.Views.Startup
             ApplyWindowStyles();
         }
 
-        private void ApplyWindowStyles()
+        void ApplyWindowStyles()
         {
             BackgroundImage = ApplicationImages.Splash;
             FormBorderStyle = FormBorderStyle.None;
             StartPosition = FormStartPosition.CenterScreen;
-            if (null != BackgroundImage) {
+            if (null != BackgroundImage)
+            {
                 ClientSize = BackgroundImage.Size;
             }
             TopMost = true;
trunk/src/MyMoney/Presentation/Views/updates/check_for_updates.cs → trunk/src/MyMoney/Presentation/Views/updates/CheckForUpdates.cs
@@ -7,11 +7,11 @@ using MyMoney.Presentation.Views.core;
 
 namespace MyMoney.Presentation.Views.updates
 {
-    public partial class check_for_updates : ApplicationWindow, ICheckForUpdatesView
+    public partial class CheckForUpdates : ApplicationWindow, ICheckForUpdatesView
     {
         ICheckForUpdatesPresenter the_presenter;
 
-        public check_for_updates()
+        public CheckForUpdates()
         {
             InitializeComponent();
             ux_image.Image = ApplicationImages.Splash;
trunk/src/MyMoney/Presentation/Views/updates/check_for_updates.Designer.cs → trunk/src/MyMoney/Presentation/Views/updates/CheckForUpdates.Designer.cs
@@ -1,6 +1,6 @@
-namespace MyMoney.Presentation.Views.updates
+namespace MyMoney.Presentation.Views.updates
 {
-    partial class check_for_updates
+    partial class CheckForUpdates
     {
         /// <summary>
         /// Required designer variable.
trunk/src/MyMoney/Presentation/Views/updates/check_for_updates.resx → trunk/src/MyMoney/Presentation/Views/updates/CheckForUpdates.resx
File renamed without changes
trunk/src/MyMoney/windows.ui/wire_up_the_views_in_to_the.cs
@@ -15,16 +15,16 @@ namespace MyMoney.windows.ui
 {
     internal class wire_up_the_views_in_to_the : ICommand
     {
-        private readonly windsor_dependency_registry register;
+        readonly windsor_dependency_registry register;
 
         public wire_up_the_views_in_to_the(windsor_dependency_registry registry)
         {
-            this.register = registry;
+            register = registry;
         }
 
         public void run()
         {
-            register.singleton<IShell, window_shell>();
+            register.singleton<IShell, ApplicationShell>();
             register.singleton<the_application_context, the_application_context>();
             register.transient<IAboutApplicationView, about_the_application_view>();
             register.transient<ISplashScreenView, splash_screen_view>();
@@ -32,11 +32,13 @@ namespace MyMoney.windows.ui
             register.transient<IAddCompanyView, add_new_company_view>();
             register.transient<IViewAllBills, view_all_bills>();
             register.transient<IAddBillPaymentView, add_bill_payment>();
-            register.transient<IActionsTaskView, actions_task_list>();
-            register.transient<IAddNewIncomeView, add_new_income_view>();
-            register.transient<IViewIncomeHistory, view_all_income>();
-            register.transient<ISaveChangesView, save_changes_view>();
-            register.transient<ICheckForUpdatesView, Presentation.Views.updates.check_for_updates>();
+            register.transient<IMainMenuView, MainMenuView>();
+            register.transient<IAddNewIncomeView, AddNewIncomeView>();
+            register.transient<IViewIncomeHistory, ViewAllIncome>();
+            register.transient<ISaveChangesView, SaveChangesView>();
+            register.transient<ICheckForUpdatesView, CheckForUpdates>();
+            register.transient<INotificationIconView, NotificationIconView>();
+            register.transient<IStatusBarView, StatusBarView>();
         }
     }
 }
\ No newline at end of file
trunk/src/MyMoney/MyMoney.csproj
@@ -191,7 +191,7 @@
     <Compile Include="Domain\Core\range_specs.cs" />
     <Compile Include="Domain\repositories\company_repository_extensions.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\ApplyLoggingInterceptor.cs" />
-    <Compile Include="Infrastructure\Container\Windsor\configuration\component_exclusion_specification.cs" />
+    <Compile Include="Infrastructure\Container\Windsor\configuration\ComponentExclusionSpecification.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\ConfigureComponentLifestyle.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\IComponentExclusionSpecification.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\ImplementationOfDependencyRegistry.cs" />
@@ -199,7 +199,8 @@
     <Compile Include="Infrastructure\Container\Windsor\configuration\NoInterfaces.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\RegisterComponentContract.cs" />
     <Compile Include="Infrastructure\Container\Windsor\configuration\SubclassesForm.cs" />
-    <Compile Include="Infrastructure\Container\Windsor\windsor_container_factory.cs" />
+    <Compile Include="Infrastructure\Container\Windsor\WindsorContainerFactory.cs" />
+    <Compile Include="Infrastructure\debugging\Launch.cs" />
     <Compile Include="Infrastructure\eventing\event_aggregator.cs" />
     <Compile Include="Infrastructure\eventing\IEvent.cs" />
     <Compile Include="Infrastructure\eventing\IEventSubscriber.cs" />
@@ -223,7 +224,7 @@
     <Compile Include="Domain\Core\Month.cs" />
     <Compile Include="Domain\Core\Months.cs" />
     <Compile Include="Domain\Core\registry_extensions.cs" />
-    <Compile Include="Infrastructure\Container\Windsor\configuration\component_registration_configuration.cs" />
+    <Compile Include="Infrastructure\Container\Windsor\configuration\ComponentRegistrationConfiguration.cs" />
     <Compile Include="Infrastructure\System\application_environment.cs" />
     <Compile Include="Infrastructure\Threading\background_thread_factory.cs" />
     <Compile Include="Infrastructure\Threading\background_thread.cs">
@@ -330,16 +331,16 @@
     <Compile Include="Presentation\Presenters\Navigation\ExpandoBuilder.cs" />
     <Compile Include="Presentation\Presenters\Navigation\ExpandoItemBuilder.cs" />
     <Compile Include="Presentation\Presenters\Navigation\IActionTaskPaneFactory.cs" />
-    <Compile Include="Presentation\Presenters\Shell\tool_bar_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Navigation\action_tasks_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Navigation\navigation_presenter.cs" />
+    <Compile Include="Presentation\Presenters\Shell\ToolBarPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Navigation\MainMenuPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Navigation\NavigationPresenter.cs" />
     <Compile Include="Presentation\Presenters\Navigation\navigation_presenter_specs.cs" />
     <Compile Include="Presentation\Presenters\reporting\report_presenter.cs" />
     <Compile Include="Presentation\Presenters\Shell\load_application_shell_specs.cs" />
-    <Compile Include="Presentation\Presenters\Shell\notification_icon_presenter_specs.cs" />
-    <Compile Include="Presentation\Presenters\Shell\task_tray_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Shell\title_bar_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Shell\title_bar_presenter_specs.cs" />
+    <Compile Include="Presentation\Presenters\Shell\NotificationIconPresenterSpecs.cs" />
+    <Compile Include="Presentation\Presenters\Shell\TaskTrayPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Shell\TitleBarPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Shell\TitleBarPresenterSpecs.cs" />
     <Compile Include="Presentation\Presenters\Startup\display_the_splash_screen.cs" />
     <Compile Include="Presentation\Presenters\Startup\hide_the_splash_screen.cs" />
     <Compile Include="Presentation\Presenters\Startup\ISplashScreenState.cs" />
@@ -373,11 +374,11 @@
       <DependentUpon>ApplicationWindow.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\dialogs\ISaveChangesView.cs" />
-    <Compile Include="Presentation\Views\dialogs\save_changes_view.cs">
+    <Compile Include="Presentation\Views\dialogs\SaveChangesView.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\dialogs\save_changes_view.Designer.cs">
-      <DependentUpon>save_changes_view.cs</DependentUpon>
+    <Compile Include="Presentation\Views\dialogs\SaveChangesView.Designer.cs">
+      <DependentUpon>SaveChangesView.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\IAddCompanyView.cs" />
     <Compile Include="Presentation\Views\billing\IViewAllBills.cs" />
@@ -391,27 +392,27 @@
     <Compile Include="Presentation\Views\core\IView.cs" />
     <Compile Include="Presentation\Views\dialogs\select_file_to_open_dialog.cs" />
     <Compile Include="Presentation\Views\dialogs\select_file_to_save_to_dialog.cs" />
-    <Compile Include="Presentation\Views\income\add_new_income_view.cs">
+    <Compile Include="Presentation\Views\income\AddNewIncomeView.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\income\add_new_income_view.Designer.cs">
-      <DependentUpon>add_new_income_view.cs</DependentUpon>
+    <Compile Include="Presentation\Views\income\AddNewIncomeView.Designer.cs">
+      <DependentUpon>AddNewIncomeView.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\income\IViewIncomeHistory.cs" />
     <Compile Include="Presentation\Views\income\IAddNewIncomeView.cs" />
-    <Compile Include="Presentation\Views\income\view_all_income.cs">
+    <Compile Include="Presentation\Views\income\ViewAllIncome.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\income\view_all_income.Designer.cs">
-      <DependentUpon>view_all_income.cs</DependentUpon>
+    <Compile Include="Presentation\Views\income\ViewAllIncome.Designer.cs">
+      <DependentUpon>ViewAllIncome.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\listbox_extensions.cs" />
     <Compile Include="Presentation\Views\Menu\main_menu_view.cs" />
-    <Compile Include="Presentation\Views\Navigation\actions_task_list.cs">
+    <Compile Include="Presentation\Views\Navigation\MainMenuView.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\Navigation\actions_task_list.Designer.cs">
-      <DependentUpon>actions_task_list.cs</DependentUpon>
+    <Compile Include="Presentation\Views\Navigation\MainMenuView.Designer.cs">
+      <DependentUpon>MainMenuView.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\Navigation\INavigationView.cs" />
     <Compile Include="Presentation\Views\Navigation\navigation_view.cs">
@@ -433,14 +434,17 @@
     <Compile Include="Presentation\Views\billing\view_all_bills_report.Designer.cs">
       <DependentUpon>view_all_bills_report.cs</DependentUpon>
     </Compile>
-    <Compile Include="Presentation\Views\Shell\notification_icon_view.cs" />
-    <Compile Include="Presentation\Views\Shell\task_tray_message.cs" />
-    <Compile Include="Presentation\Views\Shell\title_bar.cs" />
-    <Compile Include="Presentation\Views\updates\check_for_updates.cs">
+    <Compile Include="Presentation\Views\Shell\INotificationIconView.cs" />
+    <Compile Include="Presentation\Views\Shell\IShell.cs" />
+    <Compile Include="Presentation\Views\Shell\NotificationIconView.cs" />
+    <Compile Include="Presentation\Views\Shell\StatusBarView.cs" />
+    <Compile Include="Presentation\Views\Shell\TaskTrayMessage.cs" />
+    <Compile Include="Presentation\Views\Shell\TitleBar.cs" />
+    <Compile Include="Presentation\Views\updates\CheckForUpdates.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\updates\check_for_updates.Designer.cs">
-      <DependentUpon>check_for_updates.cs</DependentUpon>
+    <Compile Include="Presentation\Views\updates\CheckForUpdates.Designer.cs">
+      <DependentUpon>CheckForUpdates.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\updates\ICheckForUpdatesView.cs" />
     <Compile Include="Tasks\application\billing_tasks.cs" />
@@ -492,7 +496,7 @@
     <Compile Include="Presentation\Databindings\TextBoxDataBindingSpecs.cs" />
     <Compile Include="Presentation\Databindings\text_property_binding.cs" />
     <Compile Include="Presentation\Presenters\Commands\display_the_splash_screen.cs" />
-    <Compile Include="Presentation\Presenters\Shell\IPresentationModule.cs" />
+    <Compile Include="Presentation\Core\IPresentationModule.cs" />
     <Compile Include="Presentation\Core\presenter_registry_extensions.cs" />
     <Compile Include="Presentation\Model\Menu\File\file_menu.cs" />
     <Compile Include="Presentation\Model\Menu\Help\help_menu.cs" />
@@ -516,9 +520,9 @@
     <Compile Include="Infrastructure\Logging\Log4NetLogging\log4net_log_factory.cs" />
     <Compile Include="Infrastructure\Logging\LogSpecs.cs" />
     <Compile Include="Presentation\Presenters\Menu\Help\about_the_application_presenter_specs.cs" />
-    <Compile Include="Presentation\Presenters\Shell\notification_icon_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Shell\status_bar_presenter.cs" />
-    <Compile Include="Presentation\Presenters\Shell\status_bar_presenter_specs.cs" />
+    <Compile Include="Presentation\Presenters\Shell\NotificationIconPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Shell\StatusBarPresenter.cs" />
+    <Compile Include="Presentation\Presenters\Shell\StatusBarPresenterSpecs.cs" />
     <Compile Include="Presentation\Presenters\Startup\splash_screen_presenter_specs.cs" />
     <Compile Include="Presentation\Resources\ApplicationIcon.cs" />
     <Compile Include="Presentation\Resources\ApplicationIcons.cs" />
@@ -531,12 +535,11 @@
       <DependentUpon>about_the_application_view.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\Menu\Help\IAboutApplicationView.cs" />
-    <Compile Include="Presentation\Views\Shell\IStatusBarView.cs" />
-    <Compile Include="Presentation\Views\Shell\window_shell.cs">
+    <Compile Include="Presentation\Views\Shell\ApplicationShell.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Presentation\Views\Shell\window_shell.Designer.cs">
-      <DependentUpon>window_shell.cs</DependentUpon>
+    <Compile Include="Presentation\Views\Shell\ApplicationShell.Designer.cs">
+      <DependentUpon>ApplicationShell.cs</DependentUpon>
     </Compile>
     <Compile Include="Presentation\Views\Menu\Mappers\sub_menu_to_tool_strip_menu_item_mapper.cs" />
     <Compile Include="Presentation\Context\the_application_context_specs.cs" />
@@ -570,7 +573,7 @@
     <Compile Include="Presentation\Core\IPresenter.cs" />
     <Compile Include="Infrastructure\Container\IDependencyRegistry.cs" />
     <Compile Include="Presentation\Presenters\Menu\main_menu_presenter_specs.cs" />
-    <Compile Include="Presentation\Presenters\Commands\load_application_shell.cs" />
+    <Compile Include="Presentation\Presenters\Commands\LoadApplicationShell.cs" />
     <Compile Include="Presentation\Views\Menu\main_menu_view_specs.cs" />
     <Compile Include="windows.ui\bootstrap.cs" />
     <EmbeddedResource Include="Presentation\Views\add_new_company_view.resx">
@@ -588,23 +591,23 @@
     <EmbeddedResource Include="Presentation\Views\core\ApplicationWindow.resx">
       <DependentUpon>ApplicationWindow.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\dialogs\save_changes_view.resx">
-      <DependentUpon>save_changes_view.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\dialogs\SaveChangesView.resx">
+      <DependentUpon>SaveChangesView.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\income\add_new_income_view.resx">
-      <DependentUpon>add_new_income_view.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\income\AddNewIncomeView.resx">
+      <DependentUpon>AddNewIncomeView.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\income\view_all_income.resx">
-      <DependentUpon>view_all_income.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\income\ViewAllIncome.resx">
+      <DependentUpon>ViewAllIncome.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="Presentation\Views\Menu\Help\about_the_application_view.resx">
       <DependentUpon>about_the_application_view.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\Navigation\actions_task_list.resx">
-      <DependentUpon>actions_task_list.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\Navigation\MainMenuView.resx">
+      <DependentUpon>MainMenuView.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="Presentation\Views\Navigation\navigation_view.resx">
@@ -619,15 +622,15 @@
       <DependentUpon>view_all_bills_report.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\Shell\window_shell.resx">
-      <DependentUpon>window_shell.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\Shell\ApplicationShell.resx">
+      <DependentUpon>ApplicationShell.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="Presentation\Views\Startup\splash_screen_view.resx">
       <DependentUpon>splash_screen_view.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Presentation\Views\updates\check_for_updates.resx">
-      <DependentUpon>check_for_updates.cs</DependentUpon>
+    <EmbeddedResource Include="Presentation\Views\updates\CheckForUpdates.resx">
+      <DependentUpon>CheckForUpdates.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>