public DeferredObjectChange(IObjectChange <TPrincipal> objectChange, Func <string> deferredReference, ISerializationManager serializer)
 {
     this.objectChange    = objectChange;
     this.futureReference = new DeferredValue(deferredReference);
     this.futureValues    = new DeferredValueMap(objectChange);
     this.serializer      = serializer;
 }
 public void Store(string key, Func <object> futureValue)
 {
     map[key] = new DeferredValue(futureValue);
 }
 public void Store(string key, Func<object> futureValue)
 {
     map[key] = new DeferredValue(futureValue);
 }