private void MaxConnector_MessageReceived(object sender, MessageReceivedEventArgs messageReceivedEventArgs)
		{
			_maxMerger.Merge(_maxCube, messageReceivedEventArgs.MaxMessage);

			var stateUpdatedEventArgs = new StateUpdatedEventArgs { Rooms = _maxCube.Rooms };
			StateUpdated?.Invoke(this, stateUpdatedEventArgs);
		}
		private void MaxConnectorOnStateUpdated(object sender, StateUpdatedEventArgs stateUpdatedEventArgs)
		{
			DispatcherHelper.CheckBeginInvokeOnUI(() =>
			{
				foreach (var maxRoom in stateUpdatedEventArgs.Rooms)
				{
					var roomViewModel = Rooms.FirstOrDefault(model => model.MaxRoom.Id == maxRoom.Id);
					if (roomViewModel == null)
					{
						roomViewModel = new RoomViewModel(_maxConnector);
						Rooms.Add(roomViewModel);
					}
					roomViewModel.Update(maxRoom);
				}
			});
		}