How to understand different reader types and drive each type to subscribe