private void Update() { try { if (current != null) { current.Initialize(); if (current.IsFinished()) { current.Finish(); current = current.Next(); } else { current.Update(); } } } catch { current = null; throw; } }