custom event register and fire like dom event