code: function(newState, newValues) {
        if (state == null && newState != null) {
          state = newState;
          values = newValues;
          if (deferred.length)
            defer(function() {
              for (var i = 0; i < deferred.length; i++)
              deferred[i]();
            });
        }
        return state;
      }
docs: functions to call when set() is invoked