I got a problem with the ClassSwitchedEvent from the Class selector Device

I’m pretty new to Verse, and I don’t know why this is not working. I know I can make this easy just with event binding, and I did it, but I wanted this in Verse just for training. Maybe someone can help me?

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Teams }
using { /Fortnite.com/Characters }
using { /Verse.org/Random }
using { /Fortnite.com/Game }
using { /Fortnite.com/FortPlayerUtilities }
using { /UnrealEngine.com/Temporary/SpatialMath }

# A Verse-authored creative device that can be placed in a level
game_manager:= class(creative_device):
    
    @editable
    PlayerCounterTeam1 : player_counter_device = player_counter_device{}

    @editable
    PlayerCounterTeam2 : player_counter_device = player_counter_device{}

    @editable
    ClassSelectorTeam1 : class_and_team_selector_device = class_and_team_selector_device{}

    @editable
    ClassSelectorTeam2 : class_and_team_selector_device = class_and_team_selector_device{}

    # Runs when the device is started in a running game
    OnBegin<override>()<suspends>:void=
        ClassSelectorTeam1.ClassSwitchedEvent.Subscribe(CounterTeam1Up)
        ClassSelectorTeam2.ClassSwitchedEvent.Subscribe(CounterTeam2Up)

    CounterTeam1Up(Agent: agent): void =
        Print("Team switched")
        PlayerCounterTeam1.Register(Agent)
        

    CounterTeam2Up(Agent: agent): void =
        Print("Team switched")
        PlayerCounterTeam2.Register(Agent)