Currently there are 3 different callbacks (notify, progress and cancellation),
all of which can be abstracted into one and the same mechanism:
I think of progress information as a subtype of notification.
The same is true for cancellation: as soon as the notification callback is able
to return a response to the notification, implementing cancellation as a
notification callback is trivial.
Using this scheme, progress information can be sent in much more detailed ways
than the current scheme.
But the biggest benefit is to have a single callback available: all layers will
need to support just one scheme (instead of the current 3 which need to be
implemented separately for each ra layer, working copy library, etc. etc.)