Implementing event-driven integration