I recommend writing a manager script sitting somewhere that will reference your controller types (buttons, inputs, etc). In its Start() function you can subscribe to events from those controllers. For example, to listen to OnClick, simply do this:
UIEventListener.Get(buttonGameObject).onClick = YourClickFunction;