public static int Register <T0, T1, T2, T3>(System.Action <T0, T1, T2, T3> callback)
        {
            var holder = new CallbackTable.CallbackHolder <T0, T1, T2, T3>(callback);

            return(CallbackTable.InsertHolder(holder));
        }
        public static int Register(System.Action callback)
        {
            var holder = new CallbackTable.CallbackHolder(callback);

            return(CallbackTable.InsertHolder(holder));
        }