public void StartSequence(Flow flow)
        {
            if (coroutineInstances == null)
            {
                coroutineInstances = new AotList();
            }

            if (loopRoutines == null)
            {
                loopRoutines = new AotList();
            }

            if (!isRunning || async)
            {
                isRunning = true;

                coroutineInstance = CoroutineRunner.instance;
                loopRoutine       = coroutineInstance.ConvertTo <CoroutineRunner>().StartCoroutine(Loop());
                coroutineInstances.Add(coroutineInstance);
                loopRoutines.Add(loopRoutine);

                Flow _flow = Flow.New();
                _flow.Invoke(entered);
                _flow.Dispose();
            }
        }
        public void AttachMultipleMethodEvents(AotList methodEvents, List <AotDictionary> argumentsList)
        {
            int count = 0;

            foreach (MethodEvent methodEvent in methodEvents)
            {
                methodEvent.methodEventData["arguments"] = argumentsList[count];
                methodEvents.Add(methodEvent);

                count++;
            }
        }