A command might be decomposed into multiple fragments,
each one modifying a different portion of the data.
A typical example is a command to edit a module which is composed of multiple fragments:
one to create an new object, a second one to insert a picture, a third one to move an object, etc.
This interface is not intended to be implemented by clients.