Event anti-patters that can cause a performance bottleneck

Do not fire an event in the renderer. This can cause an infinite loop. The following code shows the anti-pattern that should be avoided:

afterRender: function(cmp, helper) {
this.superAfterRender();
$A.get("e.myns:mycmp").fire();//This is an Anti pattern
}
You can't use different actions for onclick and ontouchend events in a component. The framework translates touch-tap events into clicks and activates any onclick handlers that are present.