Adds EventSource trait.

Adds EventSource companion object.
Merge pull request #8 from jackcviers/event-source

Adds EventSource trait.