public void _HandleTouch(Touch t)
    {
        Camera     cam = Camera.main;
        RaycastHit hitInfo;

        m_touchCounter++;

        if (t.phase == TouchPhase.Began)           // start touch
        {
            Debug.Log(t.phase);

            m_touchCounter = 0;

//			bool hitObject = Physics.Raycast (cam.ScreenPointToRay (t.position), out hitInfo);
//			if (hitObject) {
//				GameObject tapped = hitInfo.collider.gameObject;
//				BloonMarker marker = tapped.GetComponent<BloonMarker> ();
//
//				Debug.LogFormat ("hitObject: {0}", tapped);
//
//				if (marker) {
//					_PlayBackBalloonAndPop (tapped.GetComponent<BloonMarker> ());
//					return;
//				}
//			}

            // tapped somewhere decent, add a balloon
            Debug.Log("Adding Balloon");
            StartCoroutine(_AddBalloon(t.position));
        }
        else if ((t.phase == TouchPhase.Moved || t.phase == TouchPhase.Stationary) && m_currentMarker == null)
        {
            Debug.Log("Waiting to ballon to be created...");
        }
        else if ((t.phase == TouchPhase.Moved || t.phase == TouchPhase.Stationary) && m_currentMarker)
        {
            // TODO do cool shit while moving around/recording
            if (m_currentMarker.m_isRecording)
            {
                m_currentMarker.Grow();
            }
        }
        else if (t.phase == TouchPhase.Ended && m_currentMarker)              // end touch
        {
            Debug.Log("Recording/TouchPhase complete");

            if (m_currentMarker.m_isRecording)
            {
                m_micHelper.StopRecording(m_currentMarker);
            }

//			bool hitObject = Physics.Raycast (cam.ScreenPointToRay (t.position), out hitInfo);
//			if (hitObject) {
//				GameObject tapped = hitInfo.collider.gameObject;
//				BloonMarker marker = tapped.GetComponent<BloonMarker> ();
//
//				Debug.LogFormat ("hitObject: {0}", tapped);
//
//				if (marker) {
//					_PlayBackBalloonAndPop (tapped.GetComponent<BloonMarker> ());
//					return;
//				}
//			}

            m_currentMarker = null;
        }
    }