Hide GUI Label when click in open space or on other objects

I have a script here that I am attaching to different game objects that will allow them to be clicked and a GUI Label will come up and say what they are. My problem is that once I click an object and the label shows, I can’t figure out how to make it hide when I click another object. It just places all the labels on top of each other. Additionally, I’d like to be able to click anywhere on the screen and make the labels disappear. Not sure if I’m taking the correct approach in my script…

Any help would be greatly appreciated, as I am very new to all of this and I’m not a programmer! Thanks!

using UnityEngine;
using System.Collections;

public class Select_Object : MonoBehaviour {


		private bool showText = false;
		// Create a bool to say whether to show the button or not
		
		void OnMouseDown()
		{
			if(!showText)
				showText = true;
			// If you clicked the object, set showText to true
		}
		
		void OnGUI()
		{
			if (showText)
			GUI.Label (new Rect (100, 100, 200, 40), "Power Button", "box");
			}
		}

Believe I was able to figure it out… somehow!

using UnityEngine;
using System.Collections;

public class Select_Object : MonoBehaviour {


		private bool showText = false;
		// Create a bool to say whether to show the button or not
		
		void OnMouseDown()
		{
			if(!showText)
				showText = true;
			// If you clicked the object, set showText to true
		}
		
		void OnGUI()
		{
			if (showText)
			GUI.Label (new Rect (100, 100, 200, 40), "Power Button", "box");
	}
	void OnMouseUp()
	{
		if (!showText)
			showText = true;
	}
	void LateUpdate (){
		if (Input.GetMouseButtonDown(0)){
			showText = false;
		}
	}
}