extract event streams into a separate class
fix line ending
rename constructor
change event source to be a single stream of events