Abstractions for writer and processor were added