see the ```MessagePoller<T> ``` for how lifetime management of these types is currently managed