1) Se o o DomainService (MatricularAluno) e responsável por receber um publicador de eventos, porque os listener(ouvintes) ficam na camada de domínio?
2) Não entra no mesmo conceitos do repositório onde a camada de infra e responsável por dizer quem e a implementacao?
3) Neste caso do ouvinte, quem esta dizendo qual ouvinte e para usar esta sendo a camada de domínio?
4) Qual e o sentido da camada de infra passar o publicador, se os ouvintes estão na camada de domínio?
5) Se e o proprio domínio que e responsável pelo listener não seria melhor o proprio MatriculaAluno dizer que são os ouvintes?