digraph G { node [shape = rect] Hello [color = red] Login [color = blue] LoginResponse [color = red] LobbyStatus [color = red] LobbyAction [color = blue] GameStart [color = red] GameResume [color = red] Ready [color = blue] RoundStart [color = red] RoundState [color = red] RoundAction [color = blue] RoundEnd [color = red] GameEnd [color = red] Hello -> Login Login -> LoginResponse LoginResponse -> Login LoginResponse -> LobbyStatus LobbyStatus -> LobbyStatus LobbyStatus -> LobbyAction LobbyAction -> LobbyAction LobbyAction -> LobbyStatus LobbyStatus -> GameStart LobbyAction -> GameStart GameStart -> Ready Ready -> RoundStart RoundStart -> RoundState RoundState -> RoundState RoundState -> RoundAction RoundAction -> RoundState RoundState -> RoundEnd RoundEnd -> Ready RoundEnd -> GameEnd GameEnd -> LobbyStatus LoginResponse -> GameResume GameResume -> RoundState [constraint = false] }