public void Start(IEnumerable <IScriptedStep> steps)
 {
     foreach (var scriptedStep in steps)
     {
         _steps.Enqueue(scriptedStep);
     }
     _current = _steps.Dequeue();
     _current.Start();
 }
        public void Update(float elapsed)
        {
            if (!IsRunning)
            {
                return;
            }

            _current.Update(elapsed, Game);
            if (_current.Finished)
            {
                _current = _steps.Count == 0 ? null : _steps.Dequeue();
                if (_current != null)
                {
                    _current.Start();
                }
            }
        }