 public /*abstract*/ class FlexGameConfigurator extends GameConfigurator
 {
     /**
+     * Configures the number of columns to use when laying out our controls. This must be called
+     * before any calls to {@link #addControl}.
+     */
+    public function setColumns (columns :int) :void
+    {
+        _columns = columns;
+    }
+
+    /**
      * Get the Container that contains the UI elements for this configurator.
      */
     public function getContainer () :Container
     {
-        return _tile;
+        return _grid;
     }
 
     /**

import mx.core.Container;
import mx.core.UIComponent;

import mx.containers.HBox;
import mx.containers.Tile;

import com.threerings.parlor.game.data.GameConfig;
import com.threerings.parlor.util.ParlorContext;

     */
    public function addControl (label :UIComponent, control :UIComponent) :void
    {
        if (_gridRow == null) {
            _gridRow = new GridRow();
            _grid.addChild(_gridRow);
        }
        _gridRow.addChild(wrapItem(label));
        _gridRow.addChild(wrapItem(control));
        if (_gridRow.numChildren == _columns * 2) {
            _gridRow = null;
        }
    }

    protected function wrapItem (component :UIComponent) :GridItem
    {
        var item :GridItem = new GridItem();
        item.addChild(component);
        return item;
    }

    /** The grid on which the config options are placed. */
    protected var _grid :Grid = new Grid();

    /** The current row to which we're adding controls. */
    protected var _gridRow :GridRow;

    /** The number of columns in which to lay out our configuration. */
    protected var _columns :int = 2;
}
}
