Code cleanup
Assert the domain event is correct type.
Another chuck of refactoring. Simplified dispatching / handling. Yo to thefringeninja