Optimize and rework internal event handling
Optimize and rework internal event handling

- Replace function bind loop with single bind
- Pass mutable event to handlers as second argument

qeled/discordie