public function setEval($eval)
	{
		$available = [self::EVAL_ONCE, self::EVAL_FRAME];
		
		if ( ! is_scalar($eval) || ! in_array($eval, $available, false))
		{
			throw new \InvalidArgumentException(sprintf('Wrong eval value for %s, available values are %s',
				(string) $eval, implode(', ', $available)));
		}
		
		$this->eval = (string) $eval;
		
		return $this;
	}