Update service plugin selection algorithm

Update the service plugin selection algorithm to perform precedence checks - start with more explicit and exact checks, then move to more general checks.