     
     // MARK: File Presenter Protocol
     
-    var presentedItemOperationQueue: OperationQueue = .main
-    
-    
-    /// URL to observe
-    var presentedItemURL: URL? {
-        
-        return self.scriptsDirectoryURL
-    }
+    let presentedItemOperationQueue: OperationQueue = .main
+    
+    let presentedItemURL: URL?
     
     
     /// script folder did change

            }
        }
        
        super.init()
        
        // observe script folder change

        do {
            // change behavior if modifier key is pressed
            switch NSEvent.modifierFlags {
                case [.option]:  // open
                    guard NSWorkspace.shared.open(script.url) else {
                        throw ScriptFileError(kind: .open, url: script.url)
                    }
                
                case [.option, .shift]:  // reveal
                    guard script.url.isReachable else {
                        throw ScriptFileError(kind: .existance, url: script.url)
                    }
                    NSWorkspace.shared.activateFileViewerSelecting([script.url])
                
                default:  // execute
                    self.currentScriptName = script.name
                    try script.run { [weak self] (error) in
                        if let error = error {
