two contexts need their own listenrs
events should be chainable
build