def _build_verbose_results(ret, show_success):
    """
    Helper function that builds the results to be returned when the verbose parameter is set
    """
    verbose_results = {'Failure': []}

    for tag_data in ret.get('Failure', []):
        tag = tag_data['tag']
        verbose_results['Failure'].append({tag: tag_data})

    verbose_results['Success'] = []

    for tag_data in ret.get('Success', []):
        tag = tag_data['tag']
        verbose_results['Success'].append({tag: tag_data})

    if not show_success and 'Success' in verbose_results:
        verbose_results.pop('Success')

    verbose_results['Controlled'] = []

    for tag_data in ret.get('Controlled', []):
        tag = tag_data['tag']
        verbose_results['Controlled'].append({tag: tag_data})

    if not verbose_results['Controlled']:
        verbose_results.pop('Controlled')

    return verbose_results