new IEvent interface and wrapped events, deprecate a lot of things