Began refactor of consumer base class

This refactor will allow consumers to partially consume input chunks without
completing consumption.