Creating new instances of GUI objects while game is running?

I’m starting to suspect this isn’t possible, but I thought I would ask before I go to bed and see if there are any answers that prove me wrong in the morning.

Can I procedurally create new GUI objects with a script? Right now it seems like all GUI objects must be defined beforehand, and can’t be created while the game is running through button presses or whatever.

Example (in JavaScript) (also note this is 4.5, not 4.6 beta):

function OnGUI () {
    GUILayout.BeginArea (Rect (Screen.width/2-150, 20, 300, 100));
        GUILayout.Box("Click me!");	
        GUILayout.Box("Click me!");	
        <<<<How do I add new GUILayout.Boxes here while the game is running, with, say, a key press?>>>>
    GUILayout.EndArea ();

Any advice would be greatly appreciated!

private bool showMe;

void OnGUI (){
    if(GUILayout.Button("Click Me")){
        showMe = !showMe;
    }
    if (showMe){
        GUILayout.Box("Bazinga");
    }
}

You could do something like

 function OnGUI () {
 
    if (Yourboolhere == true) {
 
    	GUI.Box(Rect (10, 10, 100, 20), "what you want it to say");
 
    }