Sound Manager with Unity 4.6 UI

Hi, I am trying to create a sound manager of some sort for UI sounds.

I know I could go through and manually make every button have an event trigger that plays a sound, but I would much rather a sound manager play a sound when the mouse is over - or clicks - any button.

This way, I wouldn’t have to manually make every button play sound, and changing sounds would be much easier.

How would I go about doing this?

Attach this script to any object in the scene. Assign the 2 audioClip and Play.

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;

public class SoundManager : MonoBehaviour {
	public AudioClip overClip = null;
	public AudioClip clickClip = null;

	void OnEnable () {
		Button[] buttons = FindObjectsOfType<Button>();
		foreach (Button button in buttons) {
			EventTrigger eventTrigger = null;
			if (button.gameObject.GetComponent<EventTrigger>() == null) {
				button.gameObject.AddComponent<EventTrigger>();
			}
			eventTrigger = button.gameObject.GetComponent<EventTrigger>();

			EventTrigger.Entry over = new EventTrigger.Entry();
			over.eventID = EventTriggerType.PointerEnter;
			over.callback.AddListener(delegate{PlayOverClip();});
			if (eventTrigger.delegates == null) {
				eventTrigger.delegates = new System.Collections.Generic.List<EventTrigger.Entry>();
			}
			eventTrigger.delegates.Add(over);

			button.onClick.AddListener(delegate{ PlayClickClip(); });
		}
	}

	public void PlayOverClip() {
		AudioSource.PlayClipAtPoint(overClip, Camera.main.transform.position);
	}

	public void PlayClickClip() {
		AudioSource.PlayClipAtPoint(clickClip, Camera.main.transform.position);
	}
}