Get Reference to Current Blueprint from Component (How to set up dependencies)

I’m trying to find a way to programmatically add components to a blueprint class from within the blueprint editor, for example when adding a component, have that component check if a dependent component exists on the blueprint and if not, add it.

This is just an example, there’s other things I’d like to do automatically in code, for example, I’m working on a tile-based system and I’d like to automatically add an array of custom UTile components in their respective positions along a grid, whenever a UTileManager component is added.

I figured out how to read the Blueprint class from a DataAsset with a class reference:

UClass* InClass = MyClassRef.Get();
	
const UBlueprintGeneratedClass* BPClass = Cast<UBlueprintGeneratedClass>(InClass);

const TArray<USCS_Node*>& Nodes = BPClass->SimpleConstructionScript->GetAllNodes();

// Etc.

But I couldn’t figure out how to get a reference to the owning class from a component added in the blueprint editor, or how to modify the blueprint class itself in code.

Is this even possible?