<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def list_(return_yaml=True,
          include_pillar=True,
          include_opts=True,
          **kwargs):
    '''
    List the beacons currently configured on the minion.

    Args:

        return_yaml (bool):
            Whether to return YAML formatted output, default ``True``.

        include_pillar (bool):
            Whether to include beacons that are configured in pillar, default
            is ``True``.

        include_opts (bool):
            Whether to include beacons that are configured in opts, default is
            ``True``.

    Returns:
        list: List of currently configured Beacons.

    CLI Example:

    .. code-block:: bash

        salt '*' beacons.list

    '''
    beacons = None

    try:
        eventer = salt.utils.event.get_event('minion', opts=__opts__)
        res = __salt__['event.fire']({'func': 'list',
                                      'include_pillar': include_pillar,
                                      'include_opts': include_opts},
                                     'manage_beacons')
        if res:
            event_ret = eventer.get_event(
                tag='/salt/minion/minion_beacons_list_complete',
                wait=kwargs.get('timeout', 30))
            log.debug('event_ret %s', event_ret)
            if event_ret and event_ret['complete']:
                beacons = event_ret['beacons']
    except KeyError:
        # Effectively a no-op, since we can't really return without an event
        # system
        ret = {'comment': 'Event module not available. Beacon list failed.',
               'result': False}
        return ret

    if beacons:
        if return_yaml:
            tmp = {'beacons': beacons}
            return salt.utils.yaml.safe_dump(tmp, default_flow_style=False)
        else:
            return beacons
    else:
        return {'beacons': {}}