Help With Message System Script

After not being able to find a way to display messages in a text box (for things such as characters talking and messages displaying on screen), I decided to write my own script to do this. The code I have at the moment is below:

var MessageBoxSkin : GUISkin;
var MessageBoxText : String;
var showText : boolean = false;

function DisplayMessage(message : String) {
        print(message);
        showText = true;
        MessageBoxText= message; 
}

function OnGUI()
{
    if (showText)
    {
    GUI.BeginGroup (new Rect (Screen.width / 2 - 640, Screen.height / 2 - 360, 1280, 720));

    GUI.skin = MessageBoxSkin;

    GUI.Box (new Rect (40, 600, 1200, 100),
    MessageBoxText);

    GUI.EndGroup ();
    }
    else
    {

    }
}

function Update(){

if (Input.GetKeyDown(KeyCode.F) && showText)
    showText = false;
}

function Active(){
return showText;
}

I have the MessageSystem attached to an empty gameobject in the scene, and I get other scripts to call the MessagesSystem via Get Component.

I can get the MessageSystem to receive the message (in the DisplayMessage function) but Update and OnGUI never seem to get called, and thus the GUI Box never appears.

Any help?

My best guess is that you have the script disabled (which would let you call the functions from other scripts, but OnGUI and Update wouldn't fire).

The script itself looks ok