public async Task LeaveRoom(string name)
        {
            try { await Client.LeaveRoom(name); }
            catch (Exception ex) { Mvx.Error(ex.ToString()); }

            RoomsIn.RemoveAll(r => r.Name.Equals(name, StringComparison.OrdinalIgnoreCase));
        }
        public async Task JoinRoom(Room room)
        {
            try { await Client.JoinRoom(room.Name); }
            catch (Exception ex) { Mvx.Error(ex.ToString()); }

            if (!RoomsIn.Exists(r => r.Name.Equals(room.Name, StringComparison.OrdinalIgnoreCase)))
            {
                RoomsIn.Add(room);
            }
        }
        async void Connect()
        {
            _client = new JabbRClient(this.Account.Url);
            _client.AddMessageContent += HandleAddMessageContent;
            //client.Disconnected += HandleDisconnected;
            _client.FlagChanged       += HandleFlagChanged;
            _client.JoinedRoom        += HandleJoinedRoom;
            _client.Kicked            += HandleKicked;
            _client.LoggedOut         += HandleLoggedOut;
            _client.MeMessageReceived += HandleMeMessageReceived;
            _client.MessageReceived   += HandleMessageReceived;
            _client.NoteChanged       += HandleNoteChanged;
            _client.OwnerAdded        += HandleOwnerAdded;
            _client.OwnerRemoved      += HandleOwnerRemoved;
            _client.PrivateMessage    += HandlePrivateMessage;
            //_client.RoomCountChanged += HandleRoomCountChanged;
            //client.StateChanged += HandleStateChanged;
            _client.TopicChanged        += HandleTopicChanged;
            _client.UserActivityChanged += HandleUserActivityChanged;
            _client.UserJoined          += HandleUserJoined;
            _client.UserLeft            += HandleUserLeft;
            _client.UsernameChanged     += HandleUsernameChanged;
            _client.UsersInactive       += HandleUsersInactive;
            _client.UserTyping          += HandleUserTyping;

            LogOnInfo logonInfo = null;

            try
            {
                logonInfo = await _client.Connect(Account.Username, Account.Password);
            }
            catch (Exception ex)
            {
                Log("Connect Exception: " + ex);
            }

            if (logonInfo != null)
            {
                this.UserId = logonInfo.UserId;

                //Add us into the result's Rooms
                foreach (var r in logonInfo.Rooms)
                {
                    Mvx.Trace("Rooms In: " + r.Name);
                    RoomsIn.Add(r);
                }

                Log("Connected> " + this.UserId ?? "" + " -> Rooms: " + RoomsIn.Count);
                _messenger.Publish(new JabbrConnectedMessage(this, this, this.UserId, RoomsIn));
            }
        }