sub event_foo { $_[KERNEL]->delay_if_not_already_queued( $_[SESSION], ... ); } OR sub event_foo { $_[KERNEL]->delay( $_[SESSION], ... ) if not $_[KERNEL]->already_queued( 'event_foo' ); }