I've found it useful in a couple of my programs to be able to pass a coderef to a session and have the session execute the coderef; it turns out this is possible without a source patch.

# Pass this a CODE reference and any arguments you wish.
  sub do {

    # If we're passed a CODE reference, shift it out of the args and goto it.
    goto &{splice(@_, ARG0, 1)} if ref($_[ARG0]) eq 'CODE';


# Create a POE object that runs when the program exits.  Useful for
# auto-running POE scripts.


  # Did we get a blessed POE object?  Can it run()?  Do it!
  my $o = shift;
  $o->run() if ref($o) eq 'POE::Kernel';


sungo: you might want to check out msteven's excellent POE::Component::SubWrapper for a very robust and featureful implementation of this same idea.