public void Update(TimeSpan frameTime) { if (Paused.IsActiveAndNotNull()) { return; } if (ObjectsToAdd.Any()) { Objects.AddRange(ObjectsToAdd); ObjectsToAdd.Clear(); } HasRemovedObjects = false; foreach (var o in Objects) { if (!o.Root.IsRemoved) { o.Update(frameTime); } else { HasRemovedObjects = true; } } }