public void AddFeature(EngineFeature feature) { if (feature.IsAttached) { throw new InvalidOperationException("Cannot add an already attached feature."); } feature.Attach(this); _features.Add(feature); }