extends RefCounted static func key_for_screen(screen_name: String, payload: Variant = null) -> String: var key := "home" if screen_name == "dashboard": key = "home" elif screen_name == "selection": key = "question_bank" if str(payload) == "question_bank" else "home" elif screen_name in ["map", "setup", "review"]: key = "study_plan" if screen_name == "map" else "question_bank" elif screen_name == "player": key = "dynamic_questions" if BlockSessionService.session_kind == "dynamic" else "question_bank" elif screen_name == "dynamic_questions": key = "dynamic_questions" elif screen_name.begins_with("simulation_"): key = "exams" elif screen_name.begins_with("ccs_"): key = "ccs" elif screen_name.begins_with("flashcards_"): key = "flashcards" elif screen_name == "profile": key = "performance" elif screen_name == "settings": key = "settings" elif screen_name == "notes": key = "notes" elif screen_name == "bookmarks": key = "bookmarks" elif screen_name == "donations": key = "donations" return key