In my function, I have a parameter a `manager: TextManager`, but when I try to bind its text to a `Binding<String>`, it says "Cannot find '$manager' in scope". Why cannot it find the 'manager', it is right there in the function parameter?

The main UI code is the following:

```

struct BugView: View {

    @ObservedObject var textManager = TextManager(limit: 30)

    var body: some View {
        VStack {
            Text("line 1")

            fetchTextView(title:"Name", manager: textManager)

            Text("line 3")
        }
    }

    @ViewBuilder
    private func fetchTextView(title: String, manager : TextManager) -> some View {
        TextField(title, text: $manager.text) // <- Cannot find '$manager' in scope

        Text("\(manager.text.count)/\(manager.characterLimit)")
    }
}

```

where the `TextManager` is the following

```
class TextManager: ObservableObject {
    let characterLimit: Int

    @Published var text = "" {
        didSet {
            if text.count > characterLimit && oldValue.count <= characterLimit {
                text = oldValue
            }
        }
    }

    init(limit: Int = 10) {
        characterLimit = limit
    }
}

```

I started with this code, and it works fine

```
struct BugView: View {

    @ObservedObject var textManager = TextManager(limit: 30)

    var body: some View {
        VStack {
            Text("line 1")

            TextField("good case", text: $textManager.text)

            Text("line 3")
        }
    }

}

```

I just want to wrap the some text view generation logic inside a function because I would have multiple of those views, and I would like to avoid code duplication.