A virtual conferencing system comprising: a plurality of clients (130, 140, 150, 160), each of the clients comprising state management logic to maintain a current state (135, 145, 155, 165) of a virtual conference; a virtual conferencing service to establish audio and/or video connections between the plurality of clients (130, 140, 150, 160) during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client implements a publish-subscribe mechanism to ensure that the current state of the virtual conference is consistent on each client, wherein the state management logic on each client publishes changes to its state to the state synchronization service and subscribes to receive state updates published by all other clients, including updates to the speaker queue; wherein the current state on each client includes a speaker queue comprising an ordered set of participants to be designated as current speakers during the virtual conference, wherein participants are added to the speaker queue in response to input provided by the participants indicating a desire to be a current speaker, wherein one or more participants towards the top of the speaker queue are designated to be current speakers, wherein participants are initially added to the bottom of the speaker queue and are moved towards the top of the speaker queue as other participants are removed from the top of the speaker queue; a virtual conferencing graphical user interface (132, 142, 152, 162) to display a video stream of one or more current speakers within one or more current speaker regions, the virtual conferencing GUI (132, 142, 152, 162) further providing a visual representation of the speaker queue to each of the participants, the visual representation comprising an ordered representation of each of the participants in the speaker queue; breakout group selection logic to subdivide the participants in the virtual conference into a plurality of breakout groups (328, 341, 342), the breakout group selection logic to select participants for each breakout group based on participant data related to each participant and input from a moderator; and breakout group generation logic to generate the selected breakout groups by modifying the current state on each client, thereby causing video and audio streams of the participants to be seen and heard, respectively, only between participants in the same breakout group and by providing breakout group materials and making the breakout group materials available to only participants within the same breakout group (328, 341, 342). a plurality of clients (130, 140, 150, 160), each of the clients comprising state management logic to maintain a current state (135, 145, 155, 165) of a virtual conference; a virtual conferencing service to establish audio and/or video connections between the plurality of clients (130, 140, 150, 160) during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client implements a publish-subscribe mechanism to ensure that the current state of the virtual conference is consistent on each client, wherein the state management logic on each client publishes changes to its state to the state synchronization service and subscribes to receive state updates published by all other clients, including updates to the speaker queue; wherein the current state on each client includes a speaker queue comprising an ordered set of participants to be designated as current speakers during the virtual conference, wherein participants are added to the speaker queue in response to input provided by the participants indicating a desire to be a current speaker, wherein one or more participants towards the top of the speaker queue are designated to be current speakers, wherein participants are initially added to the bottom of the speaker queue and are moved towards the top of the speaker queue as other participants are removed from the top of the speaker queue; a virtual conferencing graphical user interface (132, 142, 152, 162) to display a video stream of one or more current speakers within one or more current speaker regions, the virtual conferencing GUI (132, 142, 152, 162) further providing a visual representation of the speaker queue to each of the participants, the visual representation comprising an ordered representation of each of the participants in the speaker queue; breakout group selection logic to subdivide the participants in the virtual conference into a plurality of breakout groups (328, 341, 342), the breakout group selection logic to select participants for each breakout group based on participant data related to each participant and input from a moderator; and breakout group generation logic to generate the selected breakout groups by modifying the current state on each client, thereby causing video and audio streams of the participants to be seen and heard, respectively, only between participants in the same breakout group and by providing breakout group materials and making the breakout group materials available to only participants within the same breakout group (328, 341, 342).