More various cleanup; reimplement polling behavior