public T Object <T>([CallerMemberName] string name = null, Func <ModelDataAccessor, T> factory = null, bool createIfNull = false, [CallerMemberName] string propertyName = null) { var obj = _refs.GetOrCreateObject(_obj, name, factory, createIfNull); _changeTracker?.On(name, propertyName); return(obj); }