custom-events redone