with 'DX::Role::ActionBuilder';
-has target_path => (is => 'ro');
-
-around target_path => sub {
- my ($orig, $self) = (shift, shift);
- return undef unless ref($self);
- return $self->$orig(@_);
-};
+has target_path => (is => 'ro', isa => ValuePath);
sub can_set_value { 0 }
+sub aperture_for_set_value { [] }
+
sub action_for_set_value { undef }
+sub can_add_member { 0 }
+
+sub aperture_for_add_member { [] }
+
sub action_for_add_member { undef }
+sub aperure_for_set_member { [] }
+
sub action_for_set_member { undef }
+sub aperture_for_remove_member { [] }
+
sub action_for_remove_member { undef }
sub specialize_for_member {