package BAST::Action; use strict; use warnings; use base qw/BAST::HasAttributes/; __PACKAGE__->has_attributes(qw/class/); sub execute { my ($self) = @_; Class::XML::cast(ref($self).'::'.$self->class, $self); $self->execute(@_[1..$#_]); } 1;