public static T Create <T>() where T : DozeObject, new()
        {
            T obj = new T();

            GlobalObjectsList.Add(obj);

            return(obj);
        }
        public static T Create <T>(string tag = "") where T : DozeObject
        {
            var constructors = typeof(T).GetConstructors();

            foreach (var construct in constructors)
            {
                var parameters = construct.GetParameters();
                if (parameters.Length == 1)
                {
                    if (parameters[0].Name.ToLower() == "tag")
                    {
                        T obj = (T)construct.Invoke(new object[] { tag });
                        if (obj != null)
                        {
                            GlobalObjectsList.Add(obj);
                            return(obj);
                        }
                    }
                }
            }

            throw new InvalidOperationException($"{typeof(T).FullName} not contains constructor with tag!");
        }