For larger-scale software, building a distributed, event-driven system just makes sense. But how to get there? Usually, the status quo is a big, monolithic piece of legacy software that we just cannot ignore. From the viewpoint of a consultant who, for several years, has helped clients to move away from legacy systems (and thinking), this talk gives deep insights into challenges, solutions, and attempted solutions. We will discuss what has worked, and what did not work, and discuss lessons learned.