         self.options.onFlags(flags, block: block)
     }
     
-    func onKey(key: String, block: OptionsKeyBlock?, usage: String = "", valueSignature: String = "value") { // Add final modifier once possible
+    func onKey(key: String, block: OptionsKeyBlock?, usage: String = "", valueSignature: String = "value") { // TODO: Add final modifier once possible
         self.onKeys([key], block: block, usage: usage, valueSignature: valueSignature)
     }
     
-    func onKeys(keys: [String], block: OptionsKeyBlock?, usage: String = "", valueSignature: String = "value") { // Add final modifier once possible
+    func onKeys(keys: [String], block: OptionsKeyBlock?, usage: String = "", valueSignature: String = "value") { // TODO: Add final modifier once possible
         let nsFlags = keys as NSArray
         let comps = nsFlags.componentsJoinedByString(", ")
         let firstPart = "\(comps) <\(valueSignature)>"

    
    // MARK: - Execution
    
    func prepForExecution(arguments: NSDictionary, options: Options) {
        self.arguments = arguments
        self.options = options
    }

    // MARK: - Command info
    
    func commandName() -> String {
        assert(false, "Subclasses of Command must override this method")
        return ""
    }
    
    func commandSignature() -> String {
