package MooseX::Status::Verby;
use Moose::Role;

use Verby::Dispatcher;

has verby_config => (
    isa        => 'Verby::Config::Data',
    is         => 'ro',
    lazy_build => 1,
);

sub _build_verby_config {
    return Verby::Config::Data->new;
}

has verby_dispatcher => (
    isa        => 'Verby::Dispatcher',
    is         => 'ro',
    lazy_build => 1,
    handles    => [qw(add_step do_all)],
);

sub _build_verby_dispatcher {
    my ($self) = @_;

    Verby::Dispatcher->new(
        config_hub => $self->verby_config
    );
}

no Moose::Role;
1;
