use long polling and defer to return polls directly on update