CakePHP3:パスワードが現在のパスワードと同一かチェックする

これはしびれました:

stackoverflow.com

$validator
            ->add('current_password','custom',[
                'rule'=>  function($value, $context){
                    $user = $this->get($context['data']['id']);
                    if ($user) {
                        if ((new DefaultPasswordHasher)->check($value, $user->password)) {
                            return true;
                        }
                    }
                    return false;
                },
                'message'=>'The old password does not match the current password!',
            ])
            ->notEmpty('current_password');

なんでここでgetでユーザのエンティティ取れるの!?と思ったんですがよく考えたらここは UsersTable.phpなので当然、getを使えるんですよね…