Synchronous Communication Between Asynchronous Components