I think update `RiskGame` state should be done in `RiskGameEngine` only. We don't need to have another layer, only to update the game state.
`RiskGameEngine` will take care of validate the event and update the game state.