public static IFluentAspectsServiceContainerBuilder AddFluentAspects(this IServiceContainerBuilder serviceCollection)
        {
            if (null == serviceCollection)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddTransient <IProxyTypeFactory, DefaultProxyTypeFactory>();
            serviceCollection.AddTransient <IProxyFactory, DefaultProxyFactory>();
            serviceCollection.AddSingleton(FluentConfigInterceptorResolver.Instance);

            return(new FluentAspectsServiceContainerBuilder(serviceCollection));
        }