Split TextUiState out of FakeUser