Some advice here. You may not want to make your classes such as thread for instance dependant on other classes that are not related to its functionality. But interesting work.
Well, thread all by itself is a pretty boring thing.
The idea was to use a single epoll for socket, queue and timer events. This is the most CPU efficient and quickest way. Having separate classes of each of those would not be the same.
I was trying to find an optimum between functionality, efficiency and code simplicity.