I want to fake the tap without the user click on the button.
like that btn.dispathEvent("tap")
You can call the function that you pass to call. If you don't have a reference to it then store it as a property on the object that you are adding the tap to.
myButton.call = ()=>{zog("hi");}
myButton.tap(myButton.call);
// some time later
myButton.call(); // does what the tap would do.
You would not have the event object.
yes, we think about that.
but we hope not change