``Resource`` should definitely be a new component and other ones should depend on it if necessary.