code: function() {
  
        /**
  		 * Click Event facade (YUI custom event)
   		 * @event clickEvent
  		 */ 
        this.clickEvent = new util.CustomEvent("click");
  
        /**
  		 * Submit Event facade (YUI custom event)
   		 * @event submitEvent
  		 */
        this.submitEvent = new util.CustomEvent("submit");
        
        
        Event.addListener(this.el,"click",function(e) {
           
           var fireSubmitEvent;
           
           // stop click event, so :
           //
           //  1. buttons of 'link' or 'submit-link' type don't link to any url
           //  2. buttons of 'submit' type (<input type="submit" />) don't fire a 'submit' event
           Event.stopEvent(e);
           
           // button disabled : don't fire clickEvent, and stop here
           if (this.disabled) {
              fireSubmitEvent = false;
              
           // button enabled : fire clickEvent
           } else {
              // submit event will be fired if not prevented by clickEvent
              fireSubmitEvent = this.clickEvent.fire();
           }
           
           // link buttons should NOT fire a submit event
           if (this.options.type === "link") {
              fireSubmitEvent = false;
           }
           
           if (fireSubmitEvent) {
              this.submitEvent.fire();
           }
           
        },this,true);
        
        // Subscribe onClick handler
        if (this.options.onClick) {
           this.clickEvent.subscribe(this.options.onClick.fn,this.options.onClick.scope,true);
        }
        
     }
docs: attach the listeners on "click" event and create the custom events