public EarlyUpdateMonoRunner(UpdateMonoRunner updateRunner, string name) : base(name)
        {
            _go = updateRunner._go;

            var runnerBehaviour = _go.GetComponent <RunnerBehaviourUpdate>();

            var info = new UnityCoroutineRunner.RunningTasksInfo()
            {
                runnerName = name
            };

            runnerBehaviour.StartEarlyUpdateCoroutine(new UnityCoroutineRunner.Process <UnityCoroutineRunner.RunningTasksInfo>
                                                          (_newTaskRoutines, _coroutines, _flushingOperation, info));
        }
        public EarlyUpdateMonoRunner(UpdateMonoRunner updateRunner, string name)
        {
            _go = updateRunner._go;

            var runnerBehaviour = _go.GetComponent <RunnerBehaviourUpdate>();
            var runnerBehaviourForUnityCoroutine = _go.GetComponent <RunnerBehaviour>();

            var info = new UnityCoroutineRunner.RunningTasksInfo {
                runnerName = name
            };

            runnerBehaviour.StartEarlyUpdateCoroutine(new UnityCoroutineRunner.Process
                                                          (_newTaskRoutines, _coroutines, _flushingOperation, info,
                                                          UnityCoroutineRunner.StandardTasksFlushing,
                                                          runnerBehaviourForUnityCoroutine, StartCoroutine));
        }