Polling refactoring

Should take `E` not `Env`