/// <summary>
        /// Adds the veracity api as controllers for easy access from javascript
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="baseUrl"></param>
        /// <returns></returns>
        public static IMvcBuilder AddVeracityApiProxies <TErrorHandler, TUserNameResolver>(this IMvcBuilder builder, string baseUrl, string authenticationSchemes) where TUserNameResolver : class, IUserNameResolver where TErrorHandler : class, IErrorHandler
        {
            builder.Services.AddScoped <Stardust.Interstellar.Rest.Common.ILogger, InternalLogger>();
            builder.Services
            .AddSingleton <IUserNameResolver, TUserNameResolver>()
            .AddSingleton <IErrorHandler, TErrorHandler>();

            ClientFactory.SetServiceProviderFactory(() => builder.Services.BuildServiceProvider());
            builder.Services.SetAuthenticationSchemes(authenticationSchemes);
            builder.AddAsController(s => s.CreateRestClient <IMy>(baseUrl))
            .AddAsController(s => s.CreateRestClient <IThis>(baseUrl))
            .UseInterstellar();
            return(builder);
        }