UMGEditor Class Types?

I’m trying to understand the UMGEditor source code better to see how much work it would be to implement a rubber-band functionality. (I.e. I really would like to be able to select and drag multiple widgets around.)

I noticed there are “Customization” and “Extension” classes in there, e.g. “CanvasSlotCustomization” and “CanvasSlotExtension”. They sound very similar to me; what is the fundamental difference between these?