Rethink about the Domain Events, and refactor the implementation.