code: public function set($key, $value, $subject)
      {
          $reflect = new \ReflectionClass($subject);
          $method  = $this->getWriteMethod($key, $reflect);
  
          $method->invoke($subject, $value);
  
          return $subject;
      }
docs: @param string $key
  @param mixed  $value
  @param mixed  $subject
  
  @return mixed