Selecting and Placing objects from GUI

What I want to happen, is this:

  1. I click on a GUI button.
  2. A gameObject instantiates and is following the mouse Position.
  3. I move my mouse around and the gameObject follows or is attached to my mouse.
  4. When I want to place the gameObject, I click and the gameObject is there and no longer moved by the mouse.

My Code so far:

Ray ray = currentCamera.ScreenPointToRay(Input.mousePosition);
		RaycastHit hit;
		Vector3 mousePos = currentCamera.ScreenToViewportPoint(Input.mousePosition);
		Vector2 mousePos2 = currentCamera.ScreenToWorldPoint(Input.mousePosition);
		Vector3? newlyPlacedItem = null;

if(GUI.Button(new Rect(Screen.width - 500, Screen.height - 70,70,50),"First Item"))
			{
				Debug.Log("clicked");
				placeThis = prefab_firstItem;
				nowPlace = true;
				if(nowPlace == true)
				{
					Debug.Log (nowPlace);
					Instantiate(placeThis,mousePos2,Quaternion.identity);
					placeThis.transform.position = mousePos2;
					if(Input.GetMouseButtonDown(0))
					{
						Debug.Log ("itemPlaced");
						nowPlace = false;
					}
				}

I think GUI.Button returns true once, when you clicking the object, but you have to set your object position in Update()