anchor.diff:      /// Factory implementation
       /// </summary>
       [<Sealed>]
  -    type FlexFactory<'T>(container : ILifetimeScope) = 
  +    type FlexFactory<'T>(container : ILifetimeScope, logger : ILogService) = 
           
           /// Returns a module by name.
           /// Choice1of3 -> instance of T
  
positive.code:                 | null -> 
                      Choice3Of3(Errors.MODULE_NOT_FOUND
                                 |> GenerateOperationMessage
                                 |> Append("Module Name", moduleName))
                  | _ -> 
                      if metaOnly then Choice2Of3(injectMeta.Metadata)
                      else Choice1Of3(injectMeta.Value.Value)
          
          interface IFlexFactory<'T> with
              
  
negative.code:             member this.GetAllModules() = 
                  let modules = new Dictionary<string, 'T>(StringComparer.OrdinalIgnoreCase)
                  let factory = container.Resolve<IEnumerable<Meta<Lazy<'T>>>>()
                  for plugin in factory do
                      if plugin.Metadata.ContainsKey("Name") then 
                          let pluginName = plugin.Metadata.["Name"].ToString()
                          try 
                              let pluginValue = plugin.Value.Value
                              modules.Add(pluginName, pluginValue)
                              logger.ComponentLoaded(pluginName, typeof<'T>.FullName)
                          with e -> logger.ComponentInitializationFailed(pluginName, typeof<'T>.FullName, e)
                  modules
      
      /// <summary>
  