Refactoring. The Synchroniser now works in a non-blocking fashion. hopefully this is more robust