Completely change the ServiceProvider implementation

Instead of making it return a List<String, MessageBundle>, only make it return a
MessageBundle. In order to access the bundle, access it via the declaring class
using MessageBundle.forClass().

Much easier and much cleaner.