Introducing event-driven architectures