Inheritance ...
package Point3D;
use Moose;
extends 'Point';
has 'z' => (is => 'rw', isa => 'Int', default => 0);
override 'clear' => sub {
my $self = shift;
super();
$self->z(0);
};
# or ...
after 'clear' => sub {
my $self = shift;
$self->z(0);
};