=head1 NAME

Fennec::Recipe::CustomRunner - Recipe for a custom Fennec Runner.

=head1 DESCRIPTION

If you do not want to use Test::Builder or even TAP output, then you will need
to define a custom runner. Overriding listener_class() should be sufficient.

=head1 THE RECIPE

    package My::Runner;
    use strict;
    use warnings;

    use base 'Fennec::Runner';

    # In Fennec::Runner this returns Fennec::Listener::TB or TB2 depending on
    # TB version.
    sub listener_class { 'My::Listener' }

    # init() is a method called after the singleton is first constructed. This
    # method is entirely for you, Fennec::Runner does not use it.
    sub init {
        my $self = shift;
        my @CONSTRUCTION_ARGS = @_;
        ...
    }
