public void Handle(ReserveSeats command) { var state = new ScreeningState(_eventStore.EventsFor(command.ScreeningId)); var screening = new Screening(state, PublishWith(state)); screening.Reserve(command.CustomerId, command.Seats); }