def METHOD_NAME(self):
    ScriptedLoadableModuleWidget.METHOD_NAME(self)
    # Instantiate and connect widgets ...
    # Collapsible button
    sitesCollapsibleButton = ctk.ctkCollapsibleButton()
    sitesCollapsibleButton.text = "Sample Sites"
    self.layout.addWidget(sitesCollapsibleButton)
    # Layout within the collapsible button
    sitesFormLayout = qt.QFormLayout(sitesCollapsibleButton)
    # site buttons
    buttons = []
    self.sites = [
        {
            "label": "Web Console", "url": "http://localhost:1337"
        },
        {
            "label": "Crowds Cure Cancer", "url": "http://cancer.crowds-cure.org"
        },
        {
            "label": "Slicer Home Page", "url": "https://slicer.org"
        },
        {
            "label": "MorphoSource", "url": "https://www.morphosource.org"
        },
        {
            "label": "Slicer SampleData", "url": "https://www.slicer.org/wiki/SampleData"
        },
        {
            "label": "SlicerMorph", "url": "https://slicermorph.github.io"
        },
    ]
    for site in self.sites:
        button = qt.QPushButton(site["label"])
        button.toolTip = "Open %s" % site["url"]
        sitesFormLayout.addWidget(button)
        onClick = lambda click, site=site: self.onSiteButtonClicked(site)
        button.connect('clicked(bool)', onClick)
        buttons.append(button)
    button = qt.QPushButton("Close All")
    button.toolTip = "Close all the web views"
    button.connect('clicked(bool)', self.onCloseAll)
    self.layout.addWidget(button)
    # Add vertical spacer
    self.layout.addStretch(1)