suspend fun fetchCharacterData(): CharacterGenerator.CharacterData = withContext(Dispatchers.IO) { val apiData = URL(CHARACTER_DATA_ENDPOINT).readText() CharacterGenerator.fromApiData(apiData) }