anchor.diff:  
       procedure Changed;
       function GetDefaultSettingsName: string; virtual; abstract;
  -    function NeedToSave: Boolean; virtual;
   
       procedure LoadFromFile(const aPath: string); virtual; abstract;
       procedure SaveToFile(const aPath: string); virtual; abstract;
  
positive.code: end;
  
  
  function TKMSettings.NeedToSave: Boolean;
  begin
    Result := fNeedsSave;
  end;
  
  
  procedure TKMSettings.ReloadSettings;
  begin
    LoadFromDefaultFile;
  
negative.code:     destructor Destroy; override;
  
      property Path: string read GetPath;
      property NeedToSave: Boolean read fNeedsSave;
  
      procedure ReloadSettings;
      procedure SaveSettings(aForce: Boolean = False);
  