fix emitter inheritance so that we can use events to signal