def decode_datavalue(self,
                         datatype: str,
                         datavalue: Mapping[str, object]) -> object:
        """Decode the given ``datavalue`` using the configured
        :attr:`datavalue_decoder`.

        .. versionadded:: 0.3.0

        """
        decode = cast(Callable[[Client, str, Mapping[str, object]], object],
                      self.datavalue_decoder)
        return decode(self, datatype, datavalue)