Common DDD classes including an annotation driven message bus and tools for CQRS and Event Sourcing