     @discardableResult
     public final func onTextChanged(_ handler: @escaping ((String) -> Void)) -> Self {
         onTextChanged = handler
+        return self
+    }
+
+    @discardableResult
+    public final func onReturn(_ handler: @escaping (() -> Void)) -> Self {
+        onReturn = handler
         return self
     }
     

            textField.becomeFirstResponder()
        }
    }
    
    // MARK: Private
    
    private final var onTextChanged: ((String) -> Void)?
    private final var textColor: UIColor?
    private final var titleColor: UIColor?

    
    fileprivate dynamic func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        guard let textFieldRowFormer = textFieldRowFormer else { return false }
        if let returnHandler = textFieldRowFormer.onReturn {
            returnHandler()
            return false
        }
        if textFieldRowFormer.returnToNextRow {
            let returnToNextRow = (textFieldRowFormer.former?.canBecomeEditingNext() ?? false) ?
                textFieldRowFormer.former?.becomeEditingNext :
