add uniform event handler type in widget.h
widgets use uniform handler type
widgets use uniform subscribe_info struct