add registerHasOneWidgetSlot