Confusion on simple pause screen

Ok. I am making a simple pause screen. When the player presses Escape, I want it to show the word “Paused” (in the form of a GUIText) and show the cursor(I have Screen.lockCursor enabled in the begining). Here is the basic script I have so far:
#pragma strict

public var PauseText : GUIText;

private var EscActive;

function Start () 
{
	EscActive = false;
	Screen.lockCursor = true;
	PauseText.active = false;
}

function Update () 
{
	if(Input.GetKey(KeyCode.Escape) && EscActive == false)
	{
		EscActive = true;
		Screen.lockCursor = false;
		PauseText.active = true;
	}
	
	if(Input.GetKeyDown(KeyCode.Escape) && EscActive == true)
	{
		EscActive = false;
		Screen.lockCursor = true;
		PauseText.active = false;
	}
}

You can try show the text with a simple OnGUI function like this:

function OnGUI ()
{
	if (!EscActive) return;
	GUI.Label ( Rect (Screen.width/2, Screen.height/2, 100, 100), "Pause" );
}