def organize_sub_tier_agencies(sub_tier_agencies):
    """ Returns an organized list of sub tier agencies and their associated top tiers

        Args:
            sub_tier_agencies: list of SubTierAgency objects

        Returns:
            A dictionary containing a list of sub tier agencies organized in a human-readable way. Each dictionary
            in the list looks like this:

            {
              agency_name: Top-tier name: sub-tier name
              agency_code: sub-tier code
              priority: 2
            }
    """
    agencies = []
    for sub_tier in sub_tier_agencies:
        agency_name = sub_tier.frec.agency_name if sub_tier.is_frec else sub_tier.cgac.agency_name
        agencies.append({'agency_name': '{}: {}'.format(agency_name, sub_tier.sub_tier_agency_name),
                         'agency_code': sub_tier.sub_tier_agency_code, 'priority': sub_tier.priority})

    return {'sub_tier_agency_list': agencies}