anchor.diff:        FConfigFile : TConfigFile;
       private
         type
  -        TFilterPredicate = reference to function (const Instance : TObject; const Prop : TRttiProperty) : Boolean;
  +        TFilterPropPredicate = reference to function (const Instance : TObject; const Prop : TRttiProperty) : Boolean;
       private
  -      function  FilterConfig(const Instance : TObject; const Prop : TRttiProperty) : Boolean;
  -      procedure GenerateFullConfig;
  -      procedure ReadObjectFromConfig(const Instance : TObject; Filter : TFilterPredicate);
  -      procedure WriteObjectToConfig(const Instance : TObject; Filter : TFilterPredicate);
  +      function  FilterConfigProp(const Instance : TObject; const Prop : TRttiProperty) : Boolean;
  +      procedure GenerateDefaultConfig;
  +      procedure ReadObjectFromConfig(const Instance : TObject; Filter : TFilterPropPredicate);
  +      procedure WriteObjectToConfig(const Instance : TObject; Filter : TFilterPropPredicate);
       protected
         procedure FillDataFromFile;
         procedure FillFileFromData;
  
positive.code:           Prop.SetValue(Instance, FConfigFile.Config.ReadInteger(Instance.QualifiedClassName, Prop.Name, 0))
          else
            case Prop.PropertyType.TypeKind of
              //TODO: not sure if this will work for AnsiString
              tkString, tkLString, tkWString, tkUString:
                //TODO: third patameter must be a routine for getting the default value (parameterized?)
                Prop.SetValue(Instance, FConfigFile.Config.ReadString(Instance.QualifiedClassName, Prop.Name, String.Empty));
  
negative.code: 
  end;
  
  procedure TConfigManager.WriteObjectToConfig(const Instance : TObject; Filter : TFilterPropPredicate);
    var
      Ctx : TRttiContext;
      InstanceType : TRttiInstanceType;
  