Separated stream and block functions onto different classes.