anchor.diff:  
   { Utils }
   
  -procedure RunApplication(const FullExePath : TFileName; const LaunchParams : TStringDynArray);
  +procedure RunApplication(const FullExePath : TFileName; const CmdLineOptions : TStringDynArray);
     var
       FIToolkit : TFIToolkit;
   begin
  -  FIToolkit := TFIToolkit.Create(FullExePath, LaunchParams);
  +  FIToolkit := TFIToolkit.Create(FullExePath, CmdLineOptions);
     try
       FIToolkit.Run;
     finally
  
positive.code: uses
    System.SysUtils, System.Types;
  
    procedure RunApplication(const FullExePath : TFileName; const LaunchParams : TStringDynArray);
  
  implementation
  
  type
  
    TFIToolkit = class
      public
        constructor Create(const FullExePath : TFileName; const LaunchParams : TStringDynArray);
        destructor Destroy; override;
  
        procedure Run;
  
negative.code: 
  { TFIToolkit }
  
  constructor TFIToolkit.Create(const FullExePath : TFileName; const CmdLineOptions : TStringDynArray);
  begin
    inherited Create;
  
    InitOptions(CmdLineOptions);
    InitConfig;
  end;
  
  destructor TFIToolkit.Destroy;
  begin
    FreeAndNil(FConfig);
    FreeAndNil(FOptions);
  
    inherited Destroy;
  end;
  
  procedure TFIToolkit.InitConfig;
    var
      SetConfigOption : TCLIOption;
  begin
    //TODO: implement (with application state)
    FOptions.Find(STR_CLI_OPTION_SET_CONFIG, SetConfigOption);
    FConfig := TConfigManager.Create(SetConfigOption.Value, FOptions.Contains(STR_CLI_OPTION_GENERATE_CONFIG), True);
  end;
  
  procedure TFIToolkit.InitOptions(const CmdLineOptions : TStringDynArray);
    var
      S : String;
  begin
    FOptions := TCLIOptions.Create;
  
    for S in CmdLineOptions do
      FOptions.Add(S);
  end;
  
  procedure TFIToolkit.Run;
  