Create abstract ListAdapter to reduce duplication in UI adapters