private void Play() { if (Children != null && Children.Count > 0) { for (int i = 0; i < Children.Count; i++) { ITimeline child = Children[i]; DisposeChildRegistrations(child); _runningChildren++; child.RegisterListener(this); child.Begin(); } } else { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { // No children, so we complete immediately State = TimelineState.Stopped; OnCompleted(); }); } }