Attribute (successor) does not pass the type constraint because: Validation failed for 'PM::1081903::ChainOfResposibilityIf' with value PM::1081903::GenericCommandHandler=HASH(0x7fa22882a610) (not isa PM::1081903::ChainOfResposibilityIf) at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Meta/Attribute.pm line 1279. Moose::Meta::Attribute::verify_against_type_constraint('Moose::Meta::Attribute=HASH(0x7fa2292b89e0)', 'PM::1081903::GenericCommandHandler=HASH(0x7fa22882a610)', 'instance', 'PM::1081903::GCHSuccessor=HASH(0x7fa2288525c8)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Meta/Attribute.pm line 1266 Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0x7fa2292b89e0)', 'PM::1081903::GenericCommandHandler=HASH(0x7fa22882a610)', 'PM::1081903::GCHSuccessor=HASH(0x7fa2288525c8)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Meta/Attribute.pm line 536 Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0x7fa2292b89e0)', 'Moose::Meta::Instance=HASH(0x7fa228843e80)', 'PM::1081903::GCHSuccessor=HASH(0x7fa2288525c8)', 'HASH(0x7fa2290d5108)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0x7fa22929a2e8)', 'HASH(0x7fa2290d5108)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Class/MOP/Class.pm line 498 Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0x7fa22929a2e8)', 'HASH(0x7fa2290d5108)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Meta/Class.pm line 284 Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0x7fa22929a2e8)', 'HASH(0x7fa2290d5108)') called at /Users/ken/perl5/perlbrew/perls/perl-5.18.1t/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Object.pm line 28 Moose::Object::new('PM::1081903::GCHSuccessor', 'successor', 'PM::1081903::GenericCommandHandler=HASH(0x7fa22882a610)') called at ./pm_example.pl line 9