We got a catch-22 situation
UnitOfWorkProcessor set up the add/remove synchronzation callbacks but they are lazy created just before the Exchange is processed.
So in another component/consumer component/producer you can not add the synchronization before its processed.
But you need to use the async processor and do it in the callback done method.
Need to look into this some more. The idea is also to expose some nice methods in the DSL so end users can add their own custom processing, such as being able to send an email, log or whatever an exchange is done/failed.