You can see that the implementation of the add() method on the CalculatorService no longer obtains the calcID identifying the calculator state as an input parameter.
The service provider state can be passed to the service requester directly in the event parameterof the update() method rather than as a separate call to getState().
One thing to note in Figure 3 is the optional use of a data bean, which describes the event and contains the changed state, passed as a parameter to the ServiceRequester.update method.