public uint NextFrame(Action callback)
    {
        if (callback == null)
        {
            return(0);
        }

        var job = JobData.Create(callback);

        _jobDict.TryAdd(job.id, job);
        return(job.id);
    }
    public uint SetTimeOut(Action callback, float interval)
    {
        if (callback == null)
        {
            return(0);
        }
        var job = JobData.Create(callback, AppStatus.realtimeSinceStartup, interval);

        if (_jobDict.TryAdd(job.id, job))
        {
            return(job.id);
        }
        return(0);
    }