in reply to Package coderefs

Wouldn't the following suffice?

sub init { my $self = shift; my $coderef = $self->can('do_something'); Callback::do_callback($coderef, $self); }