public function unserialize($input)
	{
		$input = unserialize($input);

		if (!($input instanceof Input))
		{
			throw new \UnexpectedValueException(sprintf('%s would not accept a `%s`.', __METHOD__, \gettype($this->input)));
		}

		$this->setInput($input);

		return $this;
	}