Added Better Custom Event Structure And Implementation