Make MessageSourceProvider builders return a MessageSourceProvider

And not their implementation.
Start and write code/tests for LoadingMessageSourceProvider