Method modifiers (around)

has 'foo' => ( is => 'rw', isa => 'Int' );

around 'foo' => sub {
    my ($next, $self, $value) = @_;
    if(defined $value){
        $self->$next($value + 1);
    }
    return $self->$next - 1;
}