added unit test for event propagation
* Also moved propagate to attr_accessor on the Event object