public HomeViewModel(
            IRegionManager regionManager,
            INetworkCredentialsPatternValidationService patternValidationService,
            INetworkClientService clientService,
            IEventAggregator eventAggregator,
            IInformationHoldingService informationHolding)
        {
            _regionManager            = regionManager;
            _patternValidationService = patternValidationService;
            _clientService            = clientService;
            _eventAggregator          = eventAggregator;
            _informationHolding       = informationHolding;
            ConnectCommand            = new DelegateCommand(Connect);
            ErrorMessage = "";

            _mainDispatcher = Dispatcher.CurrentDispatcher;

            _eventAggregator.GetEvent <ChatroomAcceptanceEvent>().Subscribe(OnChatroomAcceptance);
        }
        public ChatRoomViewModel(
            IEventAggregator eventAggregator,
            IInformationHoldingService informationHolding,
            IQueueService <IMessage> queueService,
            IRegionManager regionManager)
        {
            _eventAggregator    = eventAggregator;
            _informationHolding = informationHolding;
            _queueService       = queueService;
            _regionManager      = regionManager;
            _eventAggregator.GetEvent <RegularUpdateEvent>().Subscribe(OnRegularUpdate);
            _eventAggregator.GetEvent <KillHeartbeatEvent>().Subscribe(OnKillHeardbeat);

            Messages    = new ObservableCollection <string>();
            ActiveUsers = new ObservableCollection <string>(_informationHolding.ActiveUsers);

            SendChatCommand   = new DelegateCommand(SendChat);
            DisconnectCommand = new DelegateCommand(Disconnect);

            _dispatcher = Dispatcher.CurrentDispatcher;
        }