How to swap UComponent pointer?

Hi there! I’m new here so a pleasure to be around

Why:
I’m trying to integrate C++ HotReload in UE4 (https://hotreload.tech), guessing that should be done as a plugin but I have some questions and I’m not an expert of UE4 unfortunately. Basically you can change the whole class, add and remove variables, etc, no only the methods content.

What:
This library builds your changes into separate DLLs and gives you back a C++ pointer but you should be responsible where to assign the new pointer. As far I know every Actor has const TSet<UActorComponent*>& GetComponents() const so:

  1. Is there an event in a safe state to swap the pointers? Like pre/post-update event?
  2. Is what I’m searching for? Every actor owns its components and there is no global registry?
  3. Is there already an event that I can connect with my plugin to know when a component is created?

Thanks in advance!