human
I wrote the below code

    configurator = get_component('configurator')
    if ('nest' in _CONFIGURING):
        _LOGGER.debug('configurator    failed')
        configurator.notify_errors(_CONFIGURING['nest'], 'Failed    to    configure,    please    try    again.')
        return
    def nest_configuration_callback(data):
        'Run    when    the    configuration    callback    is    called.'
        _LOGGER.debug('configurator    callback')
        pin = data.get('pin')
        setup_nest(hass, nest, config, pin=pin)
    _CONFIGURING['nest'] = configurator.request_config(hass, 'Nest', nest_configuration_callback, description='To    configure    Nest,    click    Request    Authorization    below,    log    into    your    Nest    account,    and    then    enter    the    resulting    PIN', link_name='Request    Authorization', link_url=nest.authorize_url, submit_caption='Confirm', fields=[{'id': 'pin', 'name': 'Enter    the    PIN', 'type': ''}])

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

def request_configuration(nest, hass, config):