Made all Seq immutable
Use event handlers rather than the single onEvent* methods