I think I just answered my question: I should return a delegate from validateAndProxy() that updates my data store when the delegate receives updates.

Does this sound like the appropriate approach?