Introduced IMessageProvider as a way to provide messages.
     Refactored specific code from the ViewModel into the provider and created new ViewModel explicitly in MainWindow.
Pass IMessageProvider to MessagesViewModel
Created rescursive text message provider - not entirely sure of it's use yet...would prefer recursive grouping