Handle file descriptor events, timer events and channel events. Very light weight, small dependency, separated from runtime.