anchor.diff:    String get appVersion => chrome.runtime.getManifest()['version'];
   
     PlatformInfo get platformInfo => _platformInfo;
  +
  +  //
  +  // Parts of ctor:
  +  //
   
     void initAnalytics() {
       analytics.getService('Spark').then((service) {
  
positive.code:     });
    }
  
    void initFilesController() {
      _filesController = new FilesController(workspace, this);
    }
  
    void newFile() => notImplemented('Spark.newFile()');
  
    void openFile() {
      chrome.ChooseEntryOptions options = new chrome.ChooseEntryOptions(
          type: chrome.ChooseEntryType.OPEN_WRITABLE_FILE);
      chrome.fileSystem.chooseEntry(options).then((chrome.ChooseEntryResult result) {
        chrome.ChromeFileEntry entry = result.entry;
  
        if (entry != null) {
          workspace.link(entry).then((file) {
            editorArea.selectFile(file, forceOpen: true, switchesTab: true);
            workspace.save();
          });
        }
      }).catchError((e) => null);
    }
  
    void openProject() {
      chrome.ChooseEntryOptions options = new chrome.ChooseEntryOptions(
          type: chrome.ChooseEntryType.OPEN_DIRECTORY);
      chrome.fileSystem.chooseEntry(options).then((chrome.ChooseEntryResult result) {
        chrome.ChromeFileEntry entry = result.entry;
  
        if (entry != null) {
          workspace.link(entry).then((file) {
            _filesController.selectLastFile();
            workspace.save();
          });
        }
      }).catchError((e) => null);
    }
  
    void deleteFile() {
      // TODO: handle multiple selection
      var sel = _filesController.getSelection();
      if (sel.isNotEmpty) {
        sel.first.delete();
      }
    }
  
    void closeFile() {
      List futures = [];
      var sel = _filesController.getSelection();
      if (sel.isNotEmpty) {
        sel.forEach((ws.Resource resource) {
          if (resource.isTopLevel) {
            _closeOpenEditor(resource);
            futures.add(resource.close());
          }
        });
      }
      Future.wait(futures).then((_) => workspace.save());
    }
  
    void _closeOpenEditor(ws.Resource resource) {
      if (resource is ws.File &&  editorManager.isFileOpened(resource)) {
        editorManager.close(resource);
      }
    }
  
    void createActions() {
  
negative.code:     initEditorThemes();
      initFilesController();
  
      initLookAndFeel();
  
      createActions();
      initToolbar();
  