Could I please get a simple explanation of TSubclassOf

Not sure if this is the best way to handle this but i guess using an event dispatcher between blueprints derived from c++ classes might be the best way to go