Implement callback as a key value:

You can now try to match a key against a code reference. You will
receive the parameters and the value will be matched against the
value of the key in the requested parameters:

    my $rules = {
        Developer => {
            Deploy => [
                [ 1, # allow
                    'required',
                    { group => 'deployers'                     },
                    { now   => sub { time - $_[0]->{'delay'} } },
                    { responsible_person => 1 },
                    'credentials',
                ,
            ]
        }
    };

This will allow the Developer to Deploy if it has the keys 'required'
and 'credentials', and if she is in the 'deployers' group, and if she
has a boolean for 'responsible_person', and if the parameter 'now'
matches the return value of the callback.