Factor out ResolverResource functionality into its own class