I think we should add a check here for instanceof `TranslatorAwareInterface` and call the three translator related setters when this is true. return value can still be `RuleInterface`.