Refactor Band/BandWriter to allow for adding a reader
Refactor Block/BlockWriter to allow for a reader