Add a version of the calculator that uses a reducing stream to model calculator state updates.
Convert the CommandStateReduction into a multi-shot Iterable.
Use the command state reduction iterable to implement the composite operation command.
Modify the CommandStateReduction so that it doesn't return the final null state.
Shorten the terminal state method in CommandStateReduction.