import Cocoa class MenuBarController { private var statusItem: NSStatusItem? private var statusMenu: StatusMenu? private var mountService: MountService? private var statusMonitor: StatusMonitor? func setupMenuBar() { statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) if let button = statusItem?.button { button.image = NSImage(systemSymbolName: "folder.fill", accessibilityDescription: "MarkBaseFS") button.image?.isTemplate = true } mountService = MountService() statusMonitor = StatusMonitor() statusMenu = StatusMenu(mountService: mountService!, statusMonitor: statusMonitor!) statusItem?.menu = statusMenu?.createMenu() statusMonitor?.startMonitoring() } func updateStatus(_ status: String) { statusMenu?.updateStatusText(status) } }