public function hydrate(stdClass $input, $strict = false) {
        $this->strict = $strict;
        $failedStrict = [];
        foreach($input as $name => $value) {
            if ($this->strict && !property_exists($this,$name)){
                $failedStrict[$name] = $value;
            } else {
                $this->$name = $value;
            }
        }
        
        if (count($failedStrict)) {
            $this->strictError($failedStrict);
        }
    }