Event System - AddListener and Callbacks

Hello, i found something i perceive as a very serve flaw in the event system.

onclick is the only function that has an addlistener.
on enter/exit as example has this not which might end in very complicated code for me to make it working.

How can i get unity to improve this and improve the scripting event documentation as well?

Edit More Details:

It is not that easy. I am sure i will have to write quite some code to work around this here is the background of my request: ;


If you know how to do this in one line then be free to share it but if i have to write 20+ lines to do what onclick.addlistener can do in one line there is definitively somthing to improve!

Edit2 since you disagree with the complicated part here is my code, if its so simple just replace the line :
fmitem.GetComponent ().onClick.AddListener (delegate { mapclicked (sub); });

	public GameObject buildmenuitem(String name, GameObject menuprefab, Vector2 scales, string sub) {
		GameObject fmitem = h.Instantiate2 (menuprefab);
		name = name.Replace ("\\", "");
		String image2= sub.Replace (".bui", "");
		fmitem.GetComponent<Image> ().sprite = Resources.Load<Sprite> (image2.Replace (g.pgamesetpath, ""));
		fmitem.name = name;
		fmitem.GetComponent<Button> ().onClick.AddListener (delegate { mapclicked (sub); }); //todo right button handling
		//fmitem.GetComponent<EventTrigger> ().OnPointerEnter.Invoke (delegate { mapclicked (sub); }); //todo right button handling
		fmitem.transform.FindChild ("Text").GetComponent<Text> ().text = name;
		fmitem.transform.localScale = (scales);
		fmitem.transform.SetParent (g.uicanvas.transform, false);
		return fmitem;

I attached my code. This is the main concern:

fmitem.GetComponent ().onClick.AddListener (delegate { mapclicked (sub);

I want to call on hover mapclicked with the argument sub. However the next line would add a different call with a different argument.

All this is done called by a loop so sub will change with every loop. What is more fmitem is a instance of a prefab.

Well it took a while but i got a good answer on this from xXGrime in the forum the code i have to add looks like this:

EventTrigger pointerHoverTrigger =  fmitem.GetComponent<EventTrigger> ();
EventTrigger.Entry yourNewEntry = new EventTrigger.Entry ();
yourNewEntry.eventID = EventTriggerType.PointerEnter;
pointerHoverTrigger.triggers.Add (yourNewEntry);
yourNewEntry.callback.AddListener ((eventData) =>
    //Do something when mouse is over button
    print("Mouse over button");

Look at the Event Trigger component - this might give you everything you need.

API link below but basically, just add that component to the object you’re interested in and you get a lot more options. Really, the ‘onclick’ is there more for convenience then anything else I think.

API: Redirect to... title of new-page