Seperate IStreamConsumer into two interfaces