Remove unnecessary interface
Small fixes
Refactoring: extract poll to separate module
Finishing refactoring