add filtering feature to event.select
implement event.wait_event, event.select_event to bundle several number of events and treat like one event.