code: def get_value_with_source(self, layer=None):
          
          if layer:
              return self._values[layer]
  
          for layer in reversed(self._layers):
              if layer in self._values:
                  return self._values[layer]
          raise KeyError(layer)
docs: Returns a tuple of the value's source and the value at the specified
          layer. If no layer is specified then the outer layer is used.
  
          Parameters
          ----------
          layer : str
              Name of the layer to use. If None then the outermost where the value
              exists will be used.
  
          Raises
          ------
          KeyError
              If the value is not set for the specified layer