Implements DDD and EventSourcing.