public function add_validator_by_key( ValidatorInterface $validator, $key ) {

		if ( ! is_scalar( $key ) ) {
			throw new Exception\InvalidArgumentException( 'key should be a scalar value.' );
		}

		$key = (string) $key;

		if ( ! isset ( $this->validators_by_key[ $key ] ) ) {
			$this->validators_by_key[ $key ] = [ ];
		}

		$this->validators_by_key[ $key ][] = $validator;

		return $this;
	}