Optimise custom events
Update changelog/todo