code: def metadata(self):
          
          result = []
          for layer in self._layers:
              if layer in self._values:
                  result.append({
                      'layer': layer,
                      'value': self._values[layer][1],
                      'source': self._values[layer][0],
                      'default': layer == self._layers[-1]
                  })
          return result
docs: Returns all values and associated metadata for this node as a dict.
          The value which would be selected if the node's value was requested
          is indicated by the `default` flag.