Factored out the Op interface in favor of generic Consumer.