Add BufferedConsumer implementation