=== modified file 'LpNet.WadlSharp.Common/Generator/LpMethod.cs'
--- LpNet.WadlSharp.Common/Generator/LpMethod.cs	2010-09-20 10:38:50 +0000
+++ LpNet.WadlSharp.Common/Generator/LpMethod.cs	2010-09-22 11:11:05 +0000
@@ -62,20 +62,28 @@
         public LpMethod(Func<string, string> createIdentifier)
         {
             _createIdentifier = createIdentifier;
+            CodeMemberFactory = new LpCodeMemberFactory(_createIdentifier) {RemoveRedundancyIfPossible = true};
         }
 
         #endregion
 
+        #region DI properties
+
+        /// <summary>
+        /// Gets and sets the code member factory used to generate the class members.
+        /// </summary>
+        public ICodeMemberFactory CodeMemberFactory { get; set; }
+
+        #endregion
+
         #region Public Methods Exposed by Interface
 
-        public CodeMemberMethod Create(method methodInstance, HashSet<string> nameSpaces, CodeNamespace ns, CodeTypeDeclaration typeDeclaration)
+        public CodeMemberMethod Create(method methodInstance, HashSet<string> nameSpaces, 
+            CodeNamespace ns, CodeTypeDeclaration typeDeclaration)
         {
             // Create am instance of CodeMemberMethod and set it's name
-            CodeMemberMethod memberMethod = new CodeMemberMethod
-            {
-                Name = _createIdentifier(methodInstance.id),
-                Attributes = MemberAttributes.Public | MemberAttributes.Final
-            };
+            var memberMethod = CodeMemberFactory.CreateCodeMember(methodInstance.id, 
+                typeDeclaration);
 
             typeDeclarationField = typeDeclaration;
 
@@ -142,11 +150,8 @@
             if (paramSet != null)
             {
                 // Create am instance of CodeMemberMethod and set it's name
-                CodeMemberMethod memberMethod = new CodeMemberMethod
-                {
-                    Name = _createIdentifier(methodInstance.id),
-                    Attributes = MemberAttributes.Public | MemberAttributes.Final
-                };
+                var memberMethod = CodeMemberFactory.CreateCodeMember(methodInstance.id, 
+                    typeDeclaration);
 
                 typeDeclarationField = typeDeclaration;
 

=== modified file 'LpNet.WadlSharp.Common/LpNet.WadlSharp.Common.csproj'
--- LpNet.WadlSharp.Common/LpNet.WadlSharp.Common.csproj	2010-09-22 11:11:05 +0000
+++ LpNet.WadlSharp.Common/LpNet.WadlSharp.Common.csproj	2010-09-22 11:11:05 +0000
@@ -50,6 +50,7 @@
     <Compile Include="Enum\HttpMethod.cs" />
     <Compile Include="Enum\LanguageConstructType.cs" />
     <Compile Include="Generator\LpClassFactory.cs" />
+    <Compile Include="Generator\LpCodeMemberFactory.cs" />
     <Compile Include="Interface\Generator\IClassFactory.cs" />
     <Compile Include="Generator\LpClass.cs" />
     <Compile Include="Generator\LpComment.cs" />
@@ -67,6 +68,7 @@
       <DependentUpon>IdentifierNames.resx</DependentUpon>
     </Compile>
     <Compile Include="Interface\Generator\IClass.cs" />
+    <Compile Include="Interface\Generator\ICodeMemberFactory.cs" />
     <Compile Include="Interface\Generator\IComment.cs" />
     <Compile Include="Interface\Generator\IConstructor.cs" />
     <Compile Include="Interface\Generator\IEnum.cs" />

=== modified file 'LpNet.WadlSharp.UnitTest/LpNet.WadlSharp.UnitTest.csproj'
--- LpNet.WadlSharp.UnitTest/LpNet.WadlSharp.UnitTest.csproj	2010-09-22 11:11:05 +0000
+++ LpNet.WadlSharp.UnitTest/LpNet.WadlSharp.UnitTest.csproj	2010-09-22 11:11:05 +0000
@@ -54,6 +54,7 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Generator\LpClassFactoryFixture.cs" />
+    <Compile Include="Generator\LpCodeMemberFactoryFixture.cs" />
     <Compile Include="Generator\LpNamespaceFixture.cs" />
     <Compile Include="Serialize\MultiFileCodeSerializerFixture.cs" />
     <Compile Include="Serialize\SingleFileCodeSerializerFixture.cs" />

