I still have no idea what your buttons are for.
Why are you picking buttons? Buttons are usually for pressing/clicking. When you click a button it is automatically picked. An on touch or on click is already a trigger action and doesn't need trigger once.
If you're using a single button object for multiple instances of buttons that are identified with instance variables or otherwise, and those buttons do different things, then yes you'll need a separate event for each buttons' actions.
Also you have a wait for previous action to complete in there, which has no function without an asynchronous action before it. Which you don't, so you're probably misunderstanding something there. All actions are processed in order from top to bottom unless its specified as an asynchronous action.