Use abstract class/stream for block_stream (and soon commit stream)