This demo creates the ShadowDOM slots in the constructor. Red text means the slotchanged event fired.
A custom element that gets upgraded later:
A custom element that gets directly created by the parser: