Cleaned trait signature in ProcessingUnitFetcher

I think using types is cleared, and then the implementing class can define the types, rather than having a very complicated type signature.