public function addSetterHook(string $propertyName, Closure $hook): self
    {
        $this->propertyDefinition->addSetterHook($propertyName, $hook);
        return $this;
    }
public function addSetterHook(string $propertyName, Closure $hook): self
    {
        $this->propertyDefinition->addSetterHook($propertyName, $hook);
        return $this;
    }
public function addSetterHook ( string $ propertyName , Closure $ hook ) : self { $ this -> propertyDefinition -> addSetterHook ( $ propertyName , $ hook ) ; return $ this ; }
Add a hook for setter with first in, last out rule.

@param string  $propertyName
@param Closure $hook = function ($value, Closure $next($value): void) use ($this): void;
@return PropertyRegister
Add a hook for setter with first in last out rule .