refactor emitter selecting
add non-recursive local poller
override __str__ so it's recursive/interval gets logged