inter implements double dispatch patterns via classes provided by the base repository.