alternative way to fix #122 (event delegate) without parsing exception message

essentially restores commit  6954ff0, but use base_trait instead of trait to traverse delegate traits