human
I wrote the below code

    configurator = get_component('configurator')
    if (host in _CONFIGURING):
        configurator.notify_errors(_CONFIGURING[host], 'Failed    to    register,    please    try    again.')
        return
    def sabnzbd_configuration_callback(data):
        'Handle    configuration    changes.'
        api_key = data.get('api_key')
        if _check_sabnzbd(sab_api, host, api_key):
            setup_sabnzbd(host, api_key, name, hass, config, add_devices, sab_api)
            def success():
                'Set    up    was    successful.'
                conf = _read_config(hass)
                conf[host] = {'api_key': api_key}
                _write_config(hass, conf)
                req_config = _CONFIGURING.pop(host)
                hass.async_add_job(configurator.request_done, req_config)
            hass.async_add_job(success)
    _CONFIGURING[host] = configurator.request_config(hass, DEFAULT_NAME, sabnzbd_configuration_callback, description='Enter    the    API    Key', submit_caption='Confirm', fields=[{'id': 'api_key', 'name': 'API    Key', 'type': ''}])

What's a good function header?

=====
Here's a good function header?
assistant
#Here's a good function header.

def request_configuration(host, name, hass, config, add_devices, sab_api):