public static void AddBehavior <T>(this PetModel model, T behavior) where T : PetBehaviorModel { model.behaviors = model.behaviors.AddTo(behavior); model.AddChildDependant(behavior); }