To resolve the question 2) , should I use TSubclassOf instead of AttachToComponent?
TSubclassOf
AttachToComponent