Rename ForEachOperation to EachOperation. Allow EachOperation to be blocking. Pass in Stream to each method so that a blocking EachOperation can push as much or as little data as it wants.
Lint cleanup