public bool Register <T, U>(U u, bool stat = false)
        {
            var se = new ServiceEntry(factory: () => u, service: u, singleton: true, stat: stat);

            return(this.services.TryAdd(typeof(T), se));
        }
        public bool Register <T, U>(Func <U> u, bool singleton, bool stat)
        {
            var se = new ServiceEntry(factory: () => u(), service: null, singleton: singleton, stat: stat);

            return(this.services.TryAdd(typeof(T), se));
        }
        public bool Register <T, U>(bool singleton, bool stat) where U : new()
        {
            var se = new ServiceEntry(factory: () => new U(), service: null, singleton: singleton, stat: stat);

            return(this.services.TryAdd(typeof(T), se));
        }