             new PropertyChangedEvent(this, name, newValue, oldValue, index));
     }
 
+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function turnDidChange_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.TURN_CHANGED, this));
     }
 
+    /**
+     * Private method to post a MessageReceivedEvent.
+     */
     private function messageReceived_v1 (name :String, value :Object) :void
     {
         dispatch(new MessageReceivedEvent(this, name, value));
     }
 
+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function gameDidStart_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.GAME_STARTED, this));
     }
 
+    /**
+     * Private method to post a StateChangedEvent.
+     */
     private function gameDidEnd_v1 () :void
     {
         dispatch(new StateChangedEvent(StateChangedEvent.GAME_ENDED, this));

            false, null);
    }

    // from EZGame
    public function dealFromCollection (
        collName :String, count :int, msgOrPropName :String,
        callback :Function = null, playerIndex :int = -1) :void


import flash.display.DisplayObject;

/**
 * The single point of control for each client in your multiplayer EZGame.
 *
 * TODO: lots of documentation.
 */
public class EZGameControl extends EventDispatcher
{
    /**
