- separate polling from subscription