Why I Still Love CQRS (and Messaging and Event Sourcing)