human
Here's a good function header given the following:
I wrote the below code

    def offset():
        'Return    random    offset.'
        return ((random.randrange(500, 2000) / 200000.0) * random.choice(((-1), 1)))
    def random_see(dev_id, name):
        'Randomize    a    sighting.'
        see(dev_id=dev_id, host_name=name, gps=((hass.config.latitude + offset()), (hass.config.longitude + offset())), gps_accuracy=random.randrange(50, 150), battery=random.randrange(10, 90))
    def observe(call=None):
        'Observe    three    entities.'
        random_see('demo_paulus', 'Paulus')
        random_see('demo_anne_therese', 'Anne    Therese')
    observe()
    see(dev_id='demo_home_boy', host_name='Home    Boy', gps=[(hass.config.latitude - 2e-05), (hass.config.longitude + 2e-05)], gps_accuracy=20, battery=53)
    hass.services.register(DOMAIN, 'demo', observe)
    return True

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

def setup_scanner(hass, config, see, discovery_info=None):