scala cqrs event sourcing experiments