Supporting synchronous and asynchronous communications in event-based communication framework for client-server applications