Remove Dependency trait.
Revert to not use publishing strategy.
Introduce AbstractEventSource.
New DepthFirstEventSource.
EventSource is now a trait.
New Dependency classes.