0.8 requires that we support nesting message bundles directly inside of <Locale> tags. This will make for some fairly bizarre code paths.
To simplify the situation, I propose that the spec factory handle message bundle retrieval as well, and simply inlines the message bundles directly into the gadget spec. This would make code that looks like this: MessageBundle bundle = bundleFactory.getBundle(spec.getLocale(locale).getMessages()) look like this: MessageBundle bundle = spec.getLocale(locale).getMessages() With getMessages() returning the map of localizations, and a new method, getMessagesUrl, returning the bundle location (in practice, it'll probably almost never get used). We'll be forced to fetch the bundles for every locale, but caching of the spec xml, async bundle fetches using futures, or lazy loading can make the performance impact negligible. Does this make sense?

