Part 9: Re-implement sub resources

This could cause issues with multibinder, which uses a set to group the generators together. Two generators with the same priority would have `g1.compareTo(g2) == 0` and one of them may end up discarded. I prefer playing it safe with a Comparator