added a helper for adding a listener to a UnityEvent that is only invoked once