docs: def set(self, key, value):
          """Set a value at key and return a Future.
  
          :rtype: tornado.concurrent.Future
          """
          value_encoded = encode(value, self.get_change_trigger(key))
  
          if key in self.data and self.data[key] == value_encoded:
              return self
  
          self.data[key] = value_encoded
          return self.trigger_changed(key)