1. A computer implemented method, in a synchronizing proxy, for synchronizing directory based applications, the method comprising: operating an application-side thread to pass a flow of first events from one or more of a plurality of applications to one or more of a plurality of repositories, wherein each of said applications uniquely corresponds to a different one of said repositories, and each of said applications directs first events only to its corresponding repository; operating a repository-side thread to pass a flow of second events from one or more of said repositories to one or more of said applications, wherein each of said repositories directs second events only to its corresponding application; operating each of a plurality of synchronizers to register information with a single event detector that is common to all of said plurality of synchronizers, wherein each of said synchronizers is associated with a different one of said applications and its uniquely corresponding repository, and the registered information specifies certain of said first and second events for which at least one synchronizer should receive a notification; passing each of said first events to the common event detector from said application-side thread, and passing each of said second events to the common event detector from said repository-side thread; operating the event detector to detect first events passed from the application-side thread and second events passed from the repository-side thread, and to selectively send notification of respective detected first and second events to respective synchronizers; further operating the event detector to determine whether the event notification sent for a particular detected event should be a synchronous notification or an asynchronous notification; and responsive to determining that the notification for said particular detected event should be synchronous, providing a selected delay before forwarding said particular event to any of said repositories or applications.