Instead of having this contract return resource bundles as HV's ResourceBundleLocator does, a method String getMessage(String key, Locale locale may be more suitable.