i think it would be better to just call an interface function and let the class handle its own logic
if the object doesnt exist yet you can wrap the class in a Struct/Data Asset or Data Table and add a GameplayTag for the switch
these would be more modular for future class additions