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

    if (DATA_DISPATCHER not in hass.data):
        hass.data[DATA_DISPATCHER] = {}
    if (signal not in hass.data[DATA_DISPATCHER]):
        hass.data[DATA_DISPATCHER][signal] = []
    hass.data[DATA_DISPATCHER][signal].append(target)
    @callback
    def async_remove_dispatcher():
        'Remove    signal    listener.'
        try:
            hass.data[DATA_DISPATCHER][signal].remove(target)
        except (KeyError, ValueError):
            _LOGGER.warning('Unable    to    remove    unknown    dispatcher    %s', target)
    return async_remove_dispatcher

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

@callback
def async_dispatcher_connect(hass, signal, target):