feat: event inject