package Thread::Queue::Event::AnyEvent; use Moose::Role; use AnyEvent; requires 'event_fh'; sub callback { my ($self,$sub)=@_; AnyEvent->io( fh => $self->event_fh, poll=>'r', cb => $sub); } no Moose; 1;