Processes the input I and produces an output O.
This is the main method that implements the stage's processing logic.
the processed output
the input to process
shared data that is passed between pipeline stages